Function at 0x469c10
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb3c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor edi, edi
cmp dword [ebp + 8], edi
mov esi, ecx
mov dword [ebp - 0xb20], esi
jle 0x46a91c
mov eax, dword [0x5f4a78]
push ebx
mov edi, edi
movzx ecx, byte [esi + edi]
sub ecx, 1
add edi, 1
cmp ecx, 4
ja case.default.0x469c53
jmp dword [ecx*4 + 0x46a934]
mov al, byte [esi + edi]
add edi, 1
cmp al, 1
mov byte [ebp - 0xb11], 0
jne 0x469c71
mov byte [ebp - 0xb11], al
mov ecx, dword [esi + edi]
movzx ebx, byte [esi + edi + 4]
add edi, 4
add edi, 1
push ebx
lea edx, [esi + edi]
push edx
lea eax, [ebp - 0x304]
push eax
mov dword [ebp - 0xb18], ecx
call fcn.0056b2f0
mov eax, dword [0x5f5150]
lea ecx, [edi + ebx + 1]
lea edx, [eax + 0x9df]
add esp, 0xc
xor edi, edi
test edx, edx
mov byte [ebp + ebx - 0x304], 0
mov dword [ebp - 0xb1c], ecx
jle 0x469d70
mov edx, dword [0x5f514c]
mov ebx, 0xfffff621
mov esi, 0xffffd884
mov dword [ebp - str.RuntimeReraiseException], 0x5b4df8
lea ebx, [ebx]
cmp edi, 0x9df
jge 0x469cf0
mov ecx, dword [ebp - 0xb08]
jmp 0x469cff
cmp ebx, eax
jb 0x469cfc
lea eax, [ebx + 1]
mov dword [0x5f5150], eax
mov ecx, dword [esi + edx]
cmp dword [ecx], 0
je 0x469d4c
cmp edi, 0x9df
jge 0x469d14
mov ecx, dword [ebp - 0xb08]
jmp 0x469d23
cmp ebx, eax
jb 0x469d20
lea eax, [ebx + 1]
mov dword [0x5f5150], eax
mov ecx, dword [esi + edx]
mov ecx, dword [ecx]
test ecx, ecx
je 0x469d4c
lea eax, [ebp - 0x304]
push eax
push ecx
call fcn.00567846
add esp, 8
test eax, eax
je 0x469f54
mov eax, dword [0x5f5150]
mov edx, dword [0x5f514c]
add dword [ebp - 0xb08], 0x10
add edi, 1
lea ecx, [eax + 0x9df]
add esi, 4
add ebx, 1
cmp edi, ecx
jl 0x469ce0
mov esi, dword [ebp - 0xb20]
cmp byte [0x5f49d5], 0
mov dword [ebp - 0xb08], 0
jne 0x469d95
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, 0x12
lea ebx, [ebp - 0xb08]
call fcn.004ab8c0
cmp dword [ebp - 0xb08], 0
je 0x469dd7
mov eax, dword [ebp - 0xb08]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push edx
add eax, 1
push str._was_not_exported
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0xb08]
test eax, eax
je 0x469df3
mov dword [eax + 0x10], 0x600
lea eax, [ebp - 0x304]
mov dword [ebp - 0xb10], 0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x469e06
sub eax, edx
cmp byte [0x5f49d5], cl
mov edi, eax
jne 0x469e2d
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
lea ebx, [ebp - 0xb10]
call fcn.004ab8c0
cmp dword [ebp - 0xb10], 0
je 0x469e6c
mov eax, dword [ebp - 0xb10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push ecx
lea edx, [ebp - 0x304]
push edx
add eax, 1
push eax
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0xb10]
test eax, eax
je 0x469e88
mov dword [eax + 0x10], 0x600
cmp byte [0x5f49d5], 0
mov dword [ebp - 0xb0c], 0
jne 0x469ead
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, 0xa
lea ebx, [ebp - 0xb0c]
call fcn.004ab8c0
cmp dword [ebp - 0xb0c], 0
je 0x469eef
mov eax, dword [ebp - 0xb0c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
push ecx
add edx, 1
push str.Function_
push edx
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0xb0c]
test eax, eax
je 0x469f0b
mov dword [eax + 0x10], 0x600
lea eax, [ebp - 0xb08]
push eax
lea ecx, [ebp - 0xb10]
push ecx
lea edx, [ebp - 0xb0c]
push edx
lea eax, [ebp - 0xb28]
push eax
call fcn.004ac650
add esp, 0xc
push eax
lea ecx, [ebp - 0xb30]
push ecx
call fcn.004ac650
mov eax, dword [eax]
add esp, 0xc
test eax, eax
je 0x46a011
mov eax, dword [eax + 4]
add eax, 1
jmp 0x46a016
cmp dword [ebp - 0xb18], 0
je 0x46a901
mov eax, dword [0x5f4a78]
mov edx, dword [ebp - 0xb18]
lea esp, [esp]
cmp byte [ebp - 0xb11], 0
mov esi, dword [eax + edx]
je 0x469fc7
cmp edi, 0x9df
jge 0x469f9b
mov ecx, edi
shl ecx, 4
add ecx, 0x5b4df8
mov ecx, dword [ecx + 4]
sub ecx, eax
sub ecx, edx
sub ecx, 4
jmp 0x469fff
lea ecx, [edi - 0x9df]
cmp ecx, dword [0x5f5150]
jb 0x469fb2
lea ebx, [ecx + 1]
mov dword [0x5f5150], ebx
mov ebx, dword [0x5f514c]
mov ecx, dword [ebx + ecx*4]
mov ecx, dword [ecx + 4]
sub ecx, eax
sub ecx, edx
sub ecx, 4
jmp 0x469fff
cmp edi, 0x9df
jge 0x469fdc
mov ecx, edi
shl ecx, 4
add ecx, 0x5b4df8
jmp 0x469ffc
lea ecx, [edi - 0x9df]
cmp ecx, dword [0x5f5150]
jb 0x469ff3
lea ebx, [ecx + 1]
mov dword [0x5f5150], ebx
mov ebx, dword [0x5f514c]
mov ecx, dword [ebx + ecx*4]
mov ecx, dword [ecx + 4]
test esi, esi
mov dword [eax + edx], ecx
mov edx, esi
jne 0x469f70
jmp 0x46a906
mov eax, 0x57e81c
push eax
push str.foundFunction
push 0xd0
push str.........CommonloaderX86.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 edx, [ebp - 0xb04]
push 0x400
push edx
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea eax, [ebp - 0xb04]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x46a92c
mov edi, dword [ebp - 0xb30]
test edi, edi
je 0x46a0b9
cmp byte [0x5f49d5], 0
jne 0x46a08d
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
test edi, edi
je 0x46a0ac
add dword [edi], 0xffffffff
jne 0x46a0ac
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x46a0bf
mov ebx, dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, dword [ebp - 0xb28]
test edi, edi
je 0x46a108
cmp byte [0x5f49d5], 0
jne 0x46a0e4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
test edi, edi
je 0x46a0fd
add dword [edi], 0xffffffff
jne 0x46a0fd
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp - 0xb0c], 0
je 0x46a152
cmp byte [0x5f49d5], 0
jne 0x46a12c
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
mov eax, dword [ebp - 0xb0c]
add dword [eax], 0xffffffff
jne 0x46a147
push eax
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov edi, dword [ebp - 0xb10]
test edi, edi
je 0x46a197
cmp byte [0x5f49d5], 0
jne 0x46a177
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
add dword [edi], 0xffffffff
jne 0x46a18c
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov edi, dword [ebp - 0xb08]
test edi, edi
je 0x46a901
cmp byte [0x5f49d5], 0
jne 0x46a1c0
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call ebx
add dword [edi], 0xffffffff
jne 0x46a1d5
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [0x5f4a78]
jmp 0x46a90c
mov ecx, dword [esi + edi]
mov edx, dword [0x5f4a74]
add edi, 4
add dword [eax + ecx], edx
jmp case.default.0x469c53
mov ecx, dword [esi + edi]
add edi, 4
add dword [eax + ecx], eax
jmp case.default.0x469c53
mov eax, dword [esi + edi]
movzx ebx, byte [esi + edi + 4]
add edi, 4
add edi, 1
push ebx
lea ecx, [esi + edi]
push ecx
lea edx, [ebp - 0x204]
push edx
mov dword [ebp - 0xb24], eax
call fcn.0056b2f0
lea edi, [edi + ebx + 1]
mov byte [ebp + ebx - 0x204], 0
movzx ebx, byte [esi + edi]
add edi, 1
push ebx
add esi, edi
lea eax, [ebp - 0x104]
push esi
push eax
call fcn.0056b2f0
mov eax, dword [0x5f4a80]
lea ecx, [edi + ebx + 1]
xor esi, esi
add esp, 0x18
cmp eax, esi
mov byte [ebp + ebx - 0x104], 0
mov dword [ebp - 0xb1c], ecx
mov ebx, eax
je 0x46a2b2
mov eax, dword [ebx + 4]
cmp eax, esi
je 0x46a2a3
mov eax, dword [eax + 4]
add eax, 1
cmp eax, esi
je 0x46a29b
lea edx, [ebp - 0x104]
push edx
push eax
call fcn.00567846
add esp, 8
cmp eax, esi
je 0x46a2aa
mov ebx, dword [ebx]
cmp ebx, esi
jne 0x46a276
jmp 0x46a2b2
mov eax, 0x57e81c
jmp 0x46a287
cmp ebx, esi
jne 0x46a3bb
push 0xc
call fcn.005662c8
add esp, 4
cmp eax, esi
je 0x46a2c7
mov dword [eax + 4], esi
mov ebx, eax
jmp 0x46a2c9
xor ebx, ebx
lea eax, [ebp - 0x104]
mov dword [ebp - 0xb08], esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46a2d8
sub eax, edx
mov edi, eax
lea esi, [ebp - 0x104]
lea eax, [ebp - 0xb08]
call fcn.004ab970
mov edi, dword [ebp - 0xb08]
test edi, edi
je 0x46a307
mov dword [edi + 0x10], 0x600
cmp byte [0x5f49d5], 0
lea esi, [ebx + 4]
jne 0x46a325
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
lea eax, [ebp - 0xb08]
cmp esi, eax
je 0x46a34f
mov esi, dword [esi]
test esi, esi
je 0x46a345
call fcn.004ab850
test edi, edi
mov dword [ebx + 4], edi
je 0x46a34f
add dword [edi], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test edi, edi
je 0x46a39d
cmp byte [0x5f49d5], 0
jne 0x46a379
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 0x46a392
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov edx, dword [0x5f4a80]
mov dword [ebx + 8], eax
mov dword [ebx], edx
mov dword [0x5f4a80], ebx
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x204]
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test eax, eax
mov dword [ebp - 0xb3c], eax
jne 0x46a8a3
mov dword [ebp - 0xb08], eax
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46a3f0
sub eax, edx
cmp byte [0x5f49d5], cl
mov edi, eax
jne 0x46a417
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
lea ebx, [ebp - 0xb08]
call fcn.004ab8c0
mov esi, dword [ebp - 0xb08]
test esi, esi
je 0x46a451
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 4]
push edx
lea eax, [ebp - 0x104]
push eax
add ecx, 1
push ecx
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test esi, esi
je 0x46a467
mov dword [esi + 0x10], 0x600
lea eax, [ebp - 0x204]
mov dword [ebp - 0xb10], 0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x46a480
sub eax, edx
cmp byte [0x5f49d5], cl
mov edi, eax
jne 0x46a4a7
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 ebx, [ebp - 0xb10]
call fcn.004ab8c0
cmp dword [ebp - 0xb10], 0
je 0x46a4e8
mov eax, dword [ebp - 0xb10]
mov edx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x204]
push ecx
add edx, 1
push edx
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0xb10]
test eax, eax
je 0x46a504
mov dword [eax + 0x10], 0x600
cmp byte [0x5f49d5], 0
mov dword [ebp - 0xb0c], 0
jne 0x46a529
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
mov edi, 5
lea ebx, [ebp - 0xb0c]
call fcn.004ab8c0
cmp dword [ebp - 0xb0c], 0
je 0x46a567
mov eax, dword [ebp - 0xb0c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
push ecx
add edx, 1
push 0x586654
push edx
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0xb0c]
test eax, eax
je 0x46a583
mov dword [eax + 0x10], 0x600
cmp byte [0x5f49d5], 0
mov dword [ebp - 0xb18], 0
jne 0x46a5a8
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
mov edi, 0x1c
lea ebx, [ebp - 0xb18]
call fcn.004ab8c0
mov ebx, dword [ebp - 0xb18]
test ebx, ebx
je 0x46a5e1
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
push eax
add ecx, 1
push str.Could_not_resolve_function_
push ecx
call fcn.00566500
add esp, 0xc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test ebx, ebx
je 0x46a5f7
mov dword [ebx + 0x10], 0x600
lea edx, [ebp - 0xb08]
push edx
lea eax, [ebp - 0xb0c]
push eax
lea ecx, [ebp - 0xb10]
push ecx
lea edx, [ebp - 0xb18]
push edx
lea eax, [ebp - 0xb34]
push eax
call fcn.004ac650
add esp, 0xc
push eax
lea ecx, [ebp - 0xb2c]
push ecx
call fcn.004ac650
add esp, 0xc
push eax
lea edx, [ebp - 0xb38]
push edx
call fcn.004ac650
mov eax, dword [eax]
add esp, 0xc
test eax, eax
je 0x46a650
mov eax, dword [eax + 4]
add eax, 1
jmp 0x46a655
mov eax, 0x57e81c
push eax
push str.functionEntry
push 0x11a
push str.........CommonloaderX86.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 - 0x704]
push 0x400
push eax
call fcn.00567446
add esp, 0x24
push 0x111
push str.Runtime_Error
lea ecx, [ebp - 0x704]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
je 0x46a92c
mov edi, dword [ebp - 0xb38]
test edi, edi
je 0x46a6f0
cmp byte [0x5f49d5], 0
jne 0x46a6cc
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test edi, edi
je 0x46a6e5
add dword [edi], 0xffffffff
jne 0x46a6e5
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov edi, dword [ebp - 0xb2c]
test edi, edi
je 0x46a739
cmp byte [0x5f49d5], 0
jne 0x46a715
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test edi, edi
je 0x46a72e
add dword [edi], 0xffffffff
jne 0x46a72e
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov edi, dword [ebp - 0xb34]
test edi, edi
je 0x46a782
cmp byte [0x5f49d5], 0
jne 0x46a75e
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
test edi, edi
je 0x46a777
add dword [edi], 0xffffffff
jne 0x46a777
push edi
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test ebx, ebx
je 0x46a7c1
cmp byte [0x5f49d5], 0
jne 0x46a7a1
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
add dword [ebx], 0xffffffff
jne 0x46a7b6
push ebx
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp - 0xb0c], 0
je 0x46a80b
cmp byte [0x5f49d5], 0
jne 0x46a7e5
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
mov eax, dword [ebp - 0xb0c]
add dword [eax], 0xffffffff
jne 0x46a800
push eax
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp - 0xb10], 0
je 0x46a855
cmp byte [0x5f49d5], 0
jne 0x46a82f
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
mov byte [0x5f49d5], 1
push 0x5f3a18
call esi
mov eax, dword [ebp - 0xb10]
add dword [eax], 0xffffffff
jne 0x46a84a
push eax
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp - 0xb08], 0
je 0x46a8a3
cmp byte [0x5f49d5], 0
jne 0x46a879
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 - 0xb08]
add dword [eax], 0xffffffff
jne 0x46a898
push eax
call fcn.0056646e
add esp, 4
push 0x5f3a18
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp - 0xb24], 0
je 0x46a901
mov edi, dword [ebp - 0xb3c]
mov eax, dword [0x5f4a78]
sub edi, eax
lea esp, [esp]
mov edx, dword [ebp - 0xb24]
mov ecx, dword [eax + edx]
mov esi, edi
sub esi, edx
sub esi, 4
test ecx, ecx
mov dword [eax + edx], esi
mov dword [ebp - 0xb24], ecx
jne 0x46a8c0
jmp 0x46a906
mov edx, dword [esi + edi]
mov ecx, dword [eax + edx]
mov ebx, dword [0x5f4a74]
add ecx, ebx
add edi, 4
mov dword [eax + edx], ecx
cmp dword [ecx + 4], 0
jne case.default.0x469c53
lea edx, [ecx + 0x14]
mov dword [ecx + 4], edx
jmp case.default.0x469c53
mov eax, dword [0x5f4a78]
mov esi, dword [ebp - 0xb20]
mov edi, dword [ebp - 0xb1c]
cmp edi, dword [ebp + 8]
jl 0x469c40
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00566120
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]