Function at 0x40320f
Capabilities:
Terminate process

Disassembly:
sub esp, 0x154
mov eax, dword [0x431034]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
mov eax, dword [esp + 0x15c]
xor ebx, ebx
push ebp
push esi
push edi
mov ebp, dword [esp + 0x16c]
lea edi, [esp + 0x44]
or dword [esp + 0x38], 0xffffffff
mov esi, 0x425710
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x170]
push 0x109
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x5b]
push ebx
push eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x20], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.0040a6b0
push 0x425724
mov dword [esp + 0x28], ebx
call fcn.0040e884
add esp, 0x10
test eax, eax
je 0x4032a6
cmp byte [eax], bl
je 0x403613
push eax
call fcn.004011b7
pop ecx
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
jmp 0x403613
mov edi, dword [esp + 0x1c]
lea eax, [edi*4 + 4]
push eax
call fcn.00401127
pop ecx
mov ecx, dword [ebp]
mov dword [esp + 0x1c], eax
mov dword [eax], ecx
lea ecx, [eax + 4]
jmp 0x4033c9
cmp byte [esi], 0x2d
jne 0x4033dc
push 0x425738
push esi
call fcn.0040119c
pop ecx
pop ecx
test eax, eax
jne 0x4032ec
add esi, 9
mov dword [esp + 0x3c], esi
jmp 0x403319
push 0x425744
push esi
call fcn.00413d40
pop ecx
pop ecx
test eax, eax
jne 0x403304
inc eax
mov dword [esp + 0x38], eax
jmp 0x403319
push 0x42575c
push esi
call fcn.00413d40
pop ecx
pop ecx
test eax, eax
jne 0x403322
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x10]
jmp 0x4033cd
push 0x425624
push esi
call fcn.00413d40
mov ecx, dword [esp + 0x3c]
test eax, eax
push 1
pop eax
cmove ecx, eax
push 0x42550c
push esi
mov dword [esp + 0x44], ecx
call fcn.00413d40
add esp, 0x10
test eax, eax
je 0x403360
push 0x425518
push esi
call fcn.00413d40
pop ecx
pop ecx
test eax, eax
jne 0x403379
cmp edi, 2
jl 0x403379
mov eax, dword [esp + 0x10]
mov dword [eax], esi
add eax, 4
dec edi
mov dword [esp + 0x10], eax
add ebp, 4
mov esi, dword [ebp]
push 0x425774
push esi
call fcn.00413d40
pop ecx
pop ecx
test eax, eax
jne 0x403391
inc eax
mov dword [esp + 0x14], eax
jmp 0x4033c0
push 0x425790
push esi
call fcn.0040119c
pop ecx
pop ecx
test eax, eax
jne 0x4033a8
mov dword [esp + 0x14], ebx
jmp 0x4033c0
push 0x4257a8
push esi
call fcn.0040119c
pop ecx
pop ecx
test eax, eax
jne 0x4033c0
lea eax, [esi + 8]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx], esi
add ecx, 4
mov dword [esp + 0x10], ecx
add ebp, 4
dec edi
mov esi, dword [ebp]
test esi, esi
jne 0x4032c9
test edi, edi
jg 0x4033e4
mov esi, ebx
jmp 0x4033fe
mov esi, dword [ebp]
dec edi
mov dword [ecx], esi
add ecx, 4
add ebp, 4
jmp 0x4033fe
mov eax, dword [ebp]
dec edi
mov dword [ecx], eax
lea ebp, [ebp + 4]
add ecx, 4
test edi, edi
jg 0x4033f2
mov dword [ecx], ebx
cmp dword [esp + 0x34], ebx
je 0x403447
test esi, esi
je 0x403447
lea eax, [esp + 0x20]
push eax
push esi
call fcn.00403dfd
pop ecx
pop ecx
test eax, eax
jne 0x40362c
mov ebp, dword [esp + 0x14]
test ebp, ebp
jne 0x40345b
mov edi, dword [esp + 0x18]
test edi, edi
jne 0x403467
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x4034de
mov ebx, esi
jmp 0x40345b
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x2c], bl
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4034a1
test ebp, ebp
jne 0x4034a1
push edi
call fcn.0040e970
mov dword [esp], 0x425800
lea esi, [eax + 1]
call fcn.0040e970
add eax, esi
push eax
call fcn.00401127
mov esi, eax
push 0x425800
push esi
call fcn.00413c40
push edi
push esi
call fcn.00413c50
push esi
call fcn.00413c25
add esp, 0x1c
test ebx, ebx
je 0x4034de
test ebp, ebp
jne 0x4034de
push ebx
call fcn.0040e970
mov edi, 0x425814
push edi
lea esi, [eax + 1]
call fcn.0040e970
add eax, esi
push eax
call fcn.00401127
mov esi, eax
push edi
push esi
call fcn.00413c40
push ebx
push esi
call fcn.00413c50
push esi
call fcn.00413c25
add esp, 0x20
mov eax, dword [esp + 0x3c]
test eax, eax
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
cmovne edx, eax
movzx ecx, byte [esp + 0x2c]
cmp ebx, 0xffffffff
movzx eax, bl
cmovne ecx, eax
mov dword [esp + 0x28], edx
cmp dword [esp + 0x24], 0
mov byte [esp + 0x2c], cl
je 0x403520
push dword [esp + 0x24]
call fcn.004011b7
mov edx, dword [esp + 0x2c]
pop ecx
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
test edx, edx
je 0x403603
push edx
call fcn.00406571
pop ecx
test eax, eax
jne 0x403541
push dword [esp + 0x28]
push 0x425828
jmp 0x40363e
lea eax, [esp + 0x20]
push eax
call fcn.00405edf
mov esi, eax
mov edx, 0x42585c
test esi, esi
mov ecx, edx
mov eax, 0x42586c
cmovne ecx, esi
cmp byte [esp + 0x30], 0
push ecx
mov ecx, 0x425864
cmove ecx, eax
cmp dword [esp + 0x30], 0
push ecx
cmovne edx, dword [esp + 0x34]
push edx
push 0x425874
call fcn.004011d9
add esp, 0x14
test esi, esi
jne 0x4035ac
push dword [esp + 0x28]
push dword [0x4319bc]
call fcn.00406371
pop ecx
pop ecx
test eax, eax
jne 0x403603
push dword [esp + 0x28]
push 0x4258b0
jmp 0x40363e
cmp dword [esp + 0x24], 0
je 0x4035d6
push dword [esp + 0x24]
call fcn.0040e970
pop ecx
mov ecx, 0x104
cmp eax, ecx
ja 0x4035fb
push dword [esp + 0x24]
lea eax, [esp + 0x48]
push eax
call fcn.00413c50
pop ecx
pop ecx
lea eax, [esp + 0x44]
push eax
call fcn.00413c25
mov edi, dword [esp + 0x20]
push edi
push esi
call fcn.0040526b
call fcn.00403d95
push edi
call fcn.00401149
add esp, 0x10
jmp 0x403613
push ecx
push 0x4258e8
jmp 0x40363e
call fcn.00403d95
mov edi, dword [esp + 0x1c]
push edi
call fcn.00401149
pop ecx
mov ecx, dword [esp + 0x160]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004097a8
add esp, 0x154
ret
cmp eax, 0xffffffff
mov ecx, 0x4257b4
mov edx, 0x4257d8
cmovne ecx, edx
push esi
push ecx
call fcn.00405aa8
pop ecx
xor eax, eax
pop ecx
inc eax
push eax
call fcn.0040ed64
int3