Function at 0x422438
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], ebx
mov edi, dword [ebp + 8]
push 0x4b65a8
call fcn.00428e28
pop ecx
test eax, eax
je 0x422463
mov ebx, 1
jmp 0x422465
xor ebx, ebx
lea eax, [ebp - 0x20]
push eax
push 0
push 0x4000
call fcn.00421dfc
add esp, 0xc
test eax, eax
jne 0x422483
mov esi, 1
jmp 0x422485
xor esi, esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1c]
movzx eax, di
mov dword [ebp - 8], eax
call 0x42275c
test eax, eax
jne 0x4224cc
lea eax, [ebp - 0x33c]
xor edx, edx
push edx
push 0x189
push eax
push edx
push edx
push dword [ebp - 0x1c]
push 0x600
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x4224cc
mov dword [ebp - 0x18], 4
mov eax, 0x4b6594
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x4224f2
lea eax, [ebp + 0x10]
lea edx, [ebp - 0x1b0]
push eax
push dword [ebp - 0x1c]
push edx
call fcn.0046ea5b
add esp, 0xc
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1c], eax
call fcn.00422ad4
mov eax, dword [ebp - 0x18]
mov edx, dword [eax*4 + 0x492e14]
mov dword [ebp - 4], edx
test esi, esi
je 0x422525
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
push eax
push edx
push 0x4b65c0
push dword [ebp - 0x20]
call fcn.0046df79
add esp, 0x14
jmp 0x4225ae
mov ecx, edx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x422540
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x422529
add eax, 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x42255f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x422548
add eax, 0xffffffff
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x20]
push ecx
lea eax, [edx + eax + 0x15]
push 0
push eax
call fcn.00421dfc
add esp, 0xc
test eax, eax
je 0x42258e
push edi
push 0x4b65e0
push 0x4a3320
call fcn.0046ea72
add esp, 0xc
jmp 0x4225ae
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
push eax
push edx
push 0x4b65c0
push dword [ebp - 0x20]
call fcn.0046df79
add esp, 0x14
mov esi, 2
mov eax, dword [ebp - 0x18]
cmp eax, 4
je 0x42262d
mov eax, dword [0x4afe48]
test eax, eax
je 0x4225c8
test ebx, ebx
jne 0x4225c8
cmp esi, 1
je 0x4225d9
test esi, esi
jne 0x422603
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 4]
test edx, edx
jne 0x422618
mov edx, dword [ebp - 8]
cmp edx, 0x194
je 0x422618
cmp edx, 0x195
je 0x422618
cmp edx, 0x196
je 0x422618
cmp edx, 0x197
je 0x422618
push dword [ebp - 0x20]
call fcn.004229ec
push dword [ebp - 0x20]
call fcn.00421eac
add esp, 8
jmp 0x4225cc
push dword [ebp - 0x20]
push dword [eax]
call fcn.0043192c
add esp, 8
mov eax, dword [ebp - 0x18]
cmp eax, 4
jne 0x4225c8
push 0x4b6640
call fcn.00428e28
pop ecx
test eax, eax
je 0x422681
mov eax, dword [ebp - 8]
cmp eax, 0xa9
je 0x422681
mov eax, dword [0x4afe48]
test eax, eax
je 0x422681
mov eax, dword [eax + 4]
test eax, eax
jne 0x422681
xor eax, eax
push eax
push eax
push 1
push 0xc0000025
call dword [sym.imp.KERNEL32.dll_RaiseException]
test ebx, ebx
jne 0x422693
mov eax, dword [0x4afe48]
test eax, eax
je 0x422693
cmp esi, 1
je 0x4226b4
test esi, esi
jne 0x4226c1
mov eax, dword [0x4afe48]
test eax, eax
je 0x4226d6
mov eax, dword [eax + 4]
test eax, eax
je 0x4226d6
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x20]
push dword [eax]
call fcn.0043192c
add esp, 8
push dword [ebp - 0x20]
call fcn.004229ec
push dword [ebp - 0x20]
call fcn.00421eac
add esp, 8
jmp 0x422697
call fcn.00429f18
mov eax, dword [0x4afe48]
test eax, eax
je 0x4226f5
push eax
call fcn.00421eac
pop ecx
mov dword [0x4afe48], 0
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x42270e
push 0x4b6660
call fcn.00428e28
pop ecx
test eax, eax
je 0x42270f
int3
push 0x4b6690
call fcn.00428e28
pop ecx
test eax, eax
jne 0x422756
push 0x4b667c
call fcn.00428e28
pop ecx
test eax, eax
jne 0x422756
mov eax, dword [0x4aee88]
test eax, eax
jne 0x422756
mov eax, dword [0x4a2400]
test eax, eax
je 0x42274c
push 1
call fcn.00451a74
pop ecx
jmp 0x4225cc
mov eax, dword [ebp - 8]
push eax
call fcn.0046dde9
pop ecx
call fcn.0046ebc1
nop
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], edi
mov dword [ebp - 8], esi
xor edi, edi
lea esi, [edi*8]
cmp eax, dword [esi + edi*4 + 0x4a1160]
je 0x422794
add edi, 1
cmp edi, 0x18a
jl 0x42276a
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov eax, 1
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + edi*4 + 0x4a1168]
mov dword [ecx], eax
mov ecx, dword [esi + edi*4 + 0x4a1164]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov dword [edx], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret