Function at 0x544500
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x440
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
cmp byte [edi + 0x260], 0
mov ebx, edx
mov dword [ebp - 0x430], edi
mov dword [ebp - 0x438], ebx
je 0x544f4b
mov eax, dword [ebx + 8]
xor esi, esi
test eax, eax
jbe 0x544570
cmp esi, eax
jb 0x544546
lea eax, [esi + 1]
mov dword [ebx + 8], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x544568
mov ecx, dword [eax + 0xc]
test ecx, ecx
jle 0x544568
add ecx, 0xffffffff
mov dword [eax + 0xc], ecx
jne 0x544568
push eax
call fcn.004ff480
add esp, 4
add esi, 1
cmp esi, dword [ebx + 8]
jb 0x544546
mov eax, dword [ebx + 4]
test eax, eax
je 0x544580
push eax
call fcn.0056612f
add esp, 4
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
push eax
push eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov edx, dword [edi + 0x68]
push 0x445
push edx
call esi
mov eax, dword [edi + 0x68]
push 0
push 1
push 0x43f
push eax
call esi
mov edx, dword [edi + 0x68]
lea ecx, [ebp - 0x440]
push ecx
push 0
push 0x434
push edx
call esi
mov eax, dword [edi]
mov edx, dword [eax + 0x1f8]
push 0x8000100
lea ecx, [ebp - 0x424]
push ecx
mov ecx, edi
mov byte [edi + 0x278], 1
call edx
mov eax, dword [eax]
test eax, eax
je 0x544611
cmp dword [eax + 0x10], 0x8000100
je 0x544611
test eax, eax
push 0x8000100
push ecx
mov ecx, esp
mov dword [ecx], eax
je 0x544600
add dword [eax], 1
lea eax, [ebp - 0x41c]
push eax
call fcn.00529150
add esp, 0xc
jmp 0x54461e
test eax, eax
mov dword [ebp - 0x41c], eax
je 0x54461e
add dword [eax], 1
mov esi, dword [ebp - 0x424]
test esi, esi
je 0x54466b
cmp byte [0x5f49d5], 0
jne 0x544643
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x544660
add dword [esi], 0xffffffff
jne 0x544660
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x41c]
push esi
call fcn.00405980
add esp, 4
test eax, eax
mov dword [ebp - 0x424], eax
jle 0x544f08
call fcn.004ab2e0
mov esi, eax
call fcn.00479330
mov dword [ebp - 0x410], eax
xor eax, eax
cmp dword [ebp - 0x424], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x42c], eax
jle 0x544ea5
mov eax, dword [ebp - 0x420]
test eax, eax
je 0x5446c7
push eax
call fcn.0056612f
add esp, 4
call fcn.0041a360
test al, al
je 0x5446e1
push 0x5c
call fcn.005662c8
mov ebx, eax
mov dword [ebp - 0x420], ebx
jmp 0x5446f0
push 0x3c
call fcn.005662c8
mov ebx, eax
mov dword [ebp - 0x420], eax
add esp, 4
test ebx, ebx
jne 0x544748
push ebx
push 0x59de54
push 0xcdb
push str.........CommonWin32win32EditControl.cpp
push str.Failed_Assertion
push 4
push str.Runtime_Error__d:__s_nPress_OK_to_Continue_nPress_Cancel_to_Quit._n_nPlease_report_what_caused_this_error_nalong_with_the_information_below._n_n_s:__d_nFailure_Condition:__s_n_s
lea ecx, [ebp - 0x404]
push 0x400
push ecx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea edx, [ebp - 0x404]
push edx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x544f5c
call fcn.0041a360
test al, al
je 0x544763
push 0x5c
push 0
push ebx
call fcn.0056b660
mov dword [ebx], 0x5c
jmp 0x544773
push 0x3c
push 0
push ebx
call fcn.0056b660
mov dword [ebx], 0x3c
mov eax, dword [ebp - 0x42c]
mov esi, dword [ebp - 0x430]
mov edx, dword [esi]
lea ecx, [eax + 1]
add esp, 0xc
push ecx
mov dword [ebp - 0x434], ecx
push eax
mov eax, dword [edx + 0x20c]
mov ecx, esi
call eax
call fcn.0041a360
test al, al
push ebx
push 1
push 0x43a
je 0x5447b6
mov ecx, dword [esi + 0x68]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5447c0
mov edx, dword [esi + 0x68]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebx + 4]
test al, 1
je 0x5447d4
test byte [ebx + 8], 1
mov byte [ebp - 0x407], 1
jne 0x5447db
mov byte [ebp - 0x407], 0
test al, 2
je 0x5447ec
test byte [ebx + 8], 2
mov byte [ebp - 0x406], 1
jne 0x5447f3
mov byte [ebp - 0x406], 0
test al, 4
je 0x544804
test byte [ebx + 8], 4
mov byte [ebp - 0x405], 1
jne 0x54480b
mov byte [ebp - 0x405], 0
xor esi, esi
mov dword [ebp - 0x414], esi
call fcn.0041a360
test al, al
je 0x544856
test dword [ebx + 4], 0x20000000
je 0x54495a
lea ecx, [ebx + 0x1a]
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x544831
sub eax, esi
sar eax, 1
lea edx, [ebp - 0x414]
call fcn.004ab9d0
mov esi, dword [ebp - 0x414]
jmp 0x54492f
test dword [ebx + 4], 0x20000000
je 0x54495a
lea esi, [ebx + 0x1a]
xor edi, edi
test esi, esi
mov dword [ebp - 0x418], edi
je 0x5448a0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x544877
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x418]
call fcn.004ab970
mov edi, dword [ebp - 0x418]
test edi, edi
je 0x5448a0
mov dword [edi + 0x10], 0x600
cmp byte [0x5f49d5], 0
jne 0x5448bb
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test edi, edi
mov esi, edi
mov dword [ebp - 0x414], esi
je 0x5448d5
add dword [edi], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x544923
cmp byte [0x5f49d5], 0
jne 0x5448ff
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [edi], 0xffffffff
jne 0x544918
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.005293c0
test edi, edi
je 0x54495a
mov dword [edi + 0x10], eax
test esi, esi
je 0x54495a
cmp dword [esi + 0x10], 0x8000100
je 0x54495a
push 0x8000100
push ecx
mov eax, esp
mov dword [eax], esi
add dword [esi], 1
lea eax, [ebp - 0x40c]
push eax
call fcn.00529150
add esp, 0xc
jmp 0x544967
test esi, esi
mov dword [ebp - 0x40c], esi
je 0x544967
add dword [esi], 1
mov esi, dword [ebx + 4]
xor edi, edi
test esi, esi
jns 0x544986
mov ecx, dword [ebx + 0xc]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
test esi, 0x40000000
mov dword [ebp - 0x428], 0
je 0x5449af
movzx edx, byte [ebx + 0x16]
xor ecx, ecx
mov ch, byte [ebx + 0x14]
mov cl, byte [ebx + 0x15]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0x428], ecx
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x41c]
push 1
push eax
push ecx
call fcn.00405840
mov esi, dword [ebp - 0x410]
add esp, 0xc
cmp dword [ebp - 0x42c], 0
mov ebx, eax
mov dword [ebp - 0x418], ebx
jne 0x544c1a
cmp byte [0x5f49d5], 0
mov dl, byte [ebp - 0x407]
mov al, byte [ebp - 0x406]
mov cl, byte [ebp - 0x405]
mov byte [esi + 0x18], dl
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], cl
mov dword [esi + 0x24], edi
lea edi, [esi + 0x20]
jne 0x544a1e
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [ebp - 0x40c]
cmp edi, edx
jne 0x544a40
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x544aa9
mov esi, dword [edi]
test esi, esi
je 0x544a89
cmp byte [0x5f49d5], 0
jne 0x544a61
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x544a7e
add dword [esi], 0xffffffff
jne 0x544a7e
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x40c]
test eax, eax
mov dword [edi], eax
je 0x544a98
add dword [eax], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x410]
cmp byte [0x5f49d5], 0
mov eax, dword [ebp - 0x428]
mov dword [esi + 0x1c], eax
lea edi, [esi + 0x28]
jne 0x544ad0
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5f3a18
call esi
lea ecx, [ebp - 0x418]
cmp edi, ecx
jne 0x544af4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x544b57
mov esi, dword [edi]
test esi, esi
je 0x544b3d
cmp byte [0x5f49d5], 0
jne 0x544b15
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x544b32
add dword [esi], 0xffffffff
jne 0x544b32
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
mov dword [edi], ebx
je 0x544b46
add dword [ebx], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test ebx, ebx
je 0x544b96
cmp byte [0x5f49d5], 0
jne 0x544b76
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [ebx], 0xffffffff
jne 0x544b8b
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x40c]
test edi, edi
je 0x544bdb
cmp byte [0x5f49d5], 0
jne 0x544bbb
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [edi], 0xffffffff
jne 0x544bd0
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x414]
test edi, edi
je 0x544e72
cmp byte [0x5f49d5], 0
jne 0x544c04
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [edi], 0xffffffff
jne 0x544e67
push edi
jmp 0x544e5f
movzx eax, byte [ebp - 0x407]
xor edx, edx
cmp byte [esi + 0x18], 1
sete dl
cmp edx, eax
jne 0x544c7c
movzx edx, byte [ebp - 0x406]
xor ecx, ecx
cmp byte [esi + 0x19], 1
sete cl
cmp ecx, edx
jne 0x544c7c
movzx ecx, byte [ebp - 0x405]
xor eax, eax
cmp byte [esi + 0x1a], 1
sete al
cmp eax, ecx
jne 0x544c7c
cmp dword [esi + 0x24], edi
jne 0x544c7c
lea eax, [esi + 0x20]
lea ecx, [ebp - 0x40c]
call fcn.004acb80
test eax, eax
jne 0x544c7c
mov edx, dword [ebp - 0x428]
cmp dword [esi + 0x1c], edx
je 0x544d88
lea eax, [ebp - 0x410]
push eax
mov eax, dword [ebp - 0x438]
call fcn.0044b420
call fcn.004ab2e0
mov esi, eax
call fcn.00479330
cmp byte [0x5f49d5], 0
movzx ecx, byte [ebp - 0x407]
mov dl, byte [ebp - 0x406]
mov byte [eax + 0x18], cl
movzx ecx, byte [ebp - 0x405]
mov byte [eax + 0x19], dl
mov byte [eax + 0x1a], cl
mov dword [eax + 0x24], edi
mov dword [ebp - 0x410], eax
lea edi, [eax + 0x20]
jne 0x544cde
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [ebp - 0x40c]
cmp edi, edx
je 0x544d0d
mov esi, dword [edi]
test esi, esi
je 0x544cfe
call fcn.004ab850
mov eax, dword [ebp - 0x40c]
test eax, eax
mov dword [edi], eax
je 0x544d0d
add dword [eax], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x410]
mov eax, dword [ebp - 0x428]
mov dword [edi + 0x1c], eax
add edi, 0x28
cmp byte [0x5f49d5], 0
jne 0x544d45
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebp - 0x418]
cmp edi, ecx
jne 0x544d67
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x544d98
mov esi, dword [edi]
test esi, esi
je 0x544d72
call fcn.004ab850
test ebx, ebx
mov dword [edi], ebx
je 0x544d7b
add dword [ebx], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x544d98
lea edx, [ebp - 0x418]
push edx
add esi, 0x28
push esi
call fcn.004abfa0
test ebx, ebx
je 0x544ddb
cmp byte [0x5f49d5], 0
jne 0x544db7
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [ebx], 0xffffffff
jne 0x544dd0
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x40c]
test esi, esi
je 0x544e24
cmp byte [0x5f49d5], 0
jne 0x544e00
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [esi], 0xffffffff
jne 0x544e19
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x414], 0
je 0x544e72
cmp byte [0x5f49d5], 0
jne 0x544e48
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x414]
add dword [eax], 0xffffffff
jne 0x544e67
push eax
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x424]
mov dword [ebp - 0x42c], eax
jl 0x5446b4
mov eax, dword [ebp - 0x420]
push eax
call fcn.0056612f
mov edi, dword [ebp - 0x430]
mov ebx, dword [ebp - 0x438]
add esp, 4
mov esi, dword [ebp - 0x41c]
lea ecx, [ebp - 0x410]
push ecx
mov eax, ebx
mov byte [edi + 0x278], 0
call fcn.0044b420
mov eax, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x440]
mov edx, dword [edi]
mov edx, dword [edx + 0x20c]
push eax
push ecx
mov ecx, edi
call edx
mov eax, dword [edi + 0x68]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x43f
push eax
call ebx
mov ecx, dword [edi + 0x68]
push 0x180001
push 0
push 0x445
push ecx
call ebx
mov byte [edi + 0x260], 0
test esi, esi
je 0x544f4b
cmp byte [0x5f49d5], 0
jne 0x544f27
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [esi], 0xffffffff
jne 0x544f40
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]