Function at 0x43b690
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x438
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x5f3a90]
push ebx
xor edx, edx
test eax, eax
push esi
push edi
mov dword [ebp - 0x410], edx
mov ecx, eax
je 0x43b6d0
lea esp, [esp]
mov ecx, dword [ecx + 0x18]
add edx, 1
test ecx, ecx
jne 0x43b6c0
mov dword [ebp - 0x410], edx
test edx, edx
mov dword [ebp - 0x40c], 0
ja 0x43b895
cmp byte [0x5f49d5], 0
mov ecx, dword [0x5f3a94]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x410], 0
jne 0x43b713
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
mov edi, 3
lea ebx, [ebp - 0x410]
call fcn.004ab8c0
mov edi, dword [ebp - 0x410]
test edi, edi
je 0x43b752
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push ecx
add eax, 1
push 0x58265c
push eax
call fcn.00566500
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5f3a18
call ebx
test edi, edi
je 0x43b76a
mov dword [edi + 0x10], 0x600
lea edx, [ebp - 0x41c]
push edx
mov eax, 4
lea ecx, [ebp - 0x40c]
call fcn.00438240
mov eax, dword [0x5f4d90]
add esp, 4
test eax, eax
je 0x43b7bf
cmp dword [eax], 0
je 0x43b7bf
mov ecx, dword [eax]
mov edx, dword [ebp - 0x40c]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x43b7ac
add dword [eax], 1
test edi, edi
push ecx
mov eax, esp
mov dword [eax], edi
je 0x43b7b8
add dword [edi], 1
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
test edi, edi
je 0x43b7fa
cmp byte [0x5f49d5], 0
jne 0x43b7de
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [edi], 0xffffffff
jne 0x43b7f3
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call ebx
mov edi, dword [ebp - 0x40c]
test edi, edi
je 0x43b83f
cmp byte [0x5f49d5], 0
jne 0x43b81f
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test edi, edi
je 0x43b838
add dword [edi], 0xffffffff
jne 0x43b838
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call ebx
mov edi, dword [ebp + 8]
test edi, edi
je 0x43b87d
cmp byte [0x5f49d5], 0
jne 0x43b861
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [edi], 0xffffffff
jne 0x43b876
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov eax, dword [0x5f3a90]
xor ecx, ecx
test eax, eax
je 0x43b8b3
mov edx, dword [ebp - 0x40c]
cmp ecx, edx
je 0x43bc9c
mov eax, dword [eax + 0x18]
add ecx, 1
test eax, eax
jne 0x43b8a1
push 0
push str.false
push 0x7fd
push str.........CommonClassLibRuntimeThread.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 eax, [ebp - 0x404]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [ebp - 0x404]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x43bfa8
lea edx, [ebp - 0x424]
push edx
mov eax, 4
lea ecx, [ebp - 0x414]
call fcn.00438240
add esp, 4
cmp byte [0x5f49d5], 0
mov dword [ebp - 0x408], 0
jne 0x43b945
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
mov edi, 1
lea ebx, [ebp - 0x408]
call fcn.004ab8c0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x43b984
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push ecx
add eax, 1
push 0x580ddc
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x43b99a
mov dword [edi + 0x10], 0x600
lea eax, [ebp - 0x430]
push eax
mov eax, 4
lea ecx, [ebp - 0x42c]
call fcn.00438240
push eax
lea ecx, [ebp - 0x408]
push ecx
lea edx, [ebp - 0x438]
push edx
call fcn.004ac650
add esp, 0x10
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.004abfa0
mov ebx, dword [ebp - 0x438]
test ebx, ebx
je 0x43ba1e
cmp byte [0x5f49d5], 0
jne 0x43b9fa
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test ebx, ebx
je 0x43ba13
add dword [ebx], 0xffffffff
jne 0x43ba13
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [ebp - 0x42c]
test ebx, ebx
je 0x43ba67
cmp byte [0x5f49d5], 0
jne 0x43ba43
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test ebx, ebx
je 0x43ba5c
add dword [ebx], 0xffffffff
jne 0x43ba5c
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x43baa6
cmp byte [0x5f49d5], 0
jne 0x43ba86
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [edi], 0xffffffff
jne 0x43ba9b
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x5f49d5], 0
mov dword [ebp - 0x408], 0
jne 0x43bacb
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
mov edi, 1
lea ebx, [ebp - 0x408]
call fcn.004ab8c0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x43bb04
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push ecx
add eax, 1
push 0x580ddc
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x43bb1a
mov dword [edi + 0x10], 0x600
lea ecx, [ebp - 0x420]
push ecx
mov eax, 4
lea ecx, [ebp - 0x428]
call fcn.00438240
push eax
lea edx, [ebp - 0x408]
push edx
lea eax, [ebp - 0x434]
push eax
call fcn.004ac650
add esp, 0x10
push eax
lea ecx, [ebp - 0x414]
push ecx
call fcn.004abfa0
mov ebx, dword [ebp - 0x434]
test ebx, ebx
je 0x43bb9e
cmp byte [0x5f49d5], 0
jne 0x43bb7a
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test ebx, ebx
je 0x43bb93
add dword [ebx], 0xffffffff
jne 0x43bb93
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [ebp - 0x428]
test ebx, ebx
je 0x43bbe7
cmp byte [0x5f49d5], 0
jne 0x43bbc3
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test ebx, ebx
je 0x43bbdc
add dword [ebx], 0xffffffff
jne 0x43bbdc
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x43bc26
cmp byte [0x5f49d5], 0
jne 0x43bc06
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [edi], 0xffffffff
jne 0x43bc1b
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [ebp - 0x420]
test ebx, ebx
je 0x43be0f
mov edi, 1
mov esi, 0x580ddc
lea eax, [ebp - 0x408]
mov dword [ebp - 0x408], 0
call fcn.004ab970
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x43bc64
mov dword [eax + 0x10], 0x600
mov edx, dword [ebx + 4]
mov esi, dword [edx + 4]
test esi, esi
je 0x43bcb9
add dword [esi], edi
cmp dword [esi + 0x10], 0x8000100
je 0x43bcb9
push 0x8000100
push ecx
mov eax, esp
mov dword [eax], esi
add dword [esi], edi
lea eax, [ebp - 0x418]
push eax
call fcn.00529150
mov ebx, dword [ebp - 0x418]
add esp, 0xc
jmp 0x43bcc7
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x430], edx
jmp 0x43b906
test esi, esi
mov ebx, esi
mov dword [ebp - 0x418], ebx
je 0x43bcc7
add dword [esi], edi
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x408]
push edx
lea eax, [ebp - 0x41c]
push eax
call fcn.004ac650
add esp, 0xc
push eax
lea ecx, [ebp - 0x414]
push ecx
call fcn.004abfa0
mov edi, dword [ebp - 0x41c]
test edi, edi
je 0x43bd42
cmp byte [0x5f49d5], 0
jne 0x43bd16
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
je 0x43bd33
add dword [edi], 0xffffffff
jne 0x43bd33
push edi
call fcn.0056646e
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5f3a18
call edi
jmp 0x43bd48
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x43bd87
cmp byte [0x5f49d5], 0
jne 0x43bd67
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 0x43bd80
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call edi
test esi, esi
je 0x43bdc6
cmp byte [0x5f49d5], 0
jne 0x43bda6
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 0x43bdbf
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call edi
mov esi, dword [ebp - 0x408]
test esi, esi
je 0x43be0f
cmp byte [0x5f49d5], 0
jne 0x43bdeb
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 0x43be04
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x414]
test esi, esi
je 0x43be1c
add dword [esi], 1
cmp byte [0x5f49d5], 0
mov dword [ebp - 0x408], 0
jne 0x43be41
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, 3
lea ebx, [ebp - 0x408]
call fcn.004ab8c0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x43be7e
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
push ecx
add eax, 1
push 0x582658
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x43be94
mov dword [edi + 0x10], 0x600
mov eax, dword [0x5f4d90]
test eax, eax
je 0x43bec3
cmp dword [eax], 0
je 0x43bec3
test esi, esi
mov ecx, dword [eax]
push ecx
mov eax, esp
mov dword [eax], esi
je 0x43beb0
add dword [esi], 1
test edi, edi
push ecx
mov eax, esp
mov dword [eax], edi
je 0x43bebc
add dword [edi], 1
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
test edi, edi
je 0x43bf0a
cmp byte [0x5f49d5], 0
jne 0x43bee2
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5f3a18
call ebx
add dword [edi], 0xffffffff
jne 0x43befd
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x43bf10
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x43bf88
cmp byte [0x5f49d5], 0
jne 0x43bf2f
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
add dword [esi], 0xffffffff
jne 0x43bf44
push esi
call fcn.0056646e
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5f3a18
call edi
cmp byte [0x5f49d5], 0
jne 0x43bf6c
push 0x5f3a18
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
add dword [esi], 0xffffffff
jne 0x43bf81
push esi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call edi
mov eax, dword [ebp - 0x40c]
add eax, 1
cmp eax, dword [ebp - 0x410]
mov dword [ebp - 0x40c], eax
jb 0x43b890
jmp 0x43b6e2
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]