Function at 0x432e79
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
mov eax, dword [0x5d64b0]
xor eax, esp
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [edi]
xor eax, eax
mov esi, edx
inc eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x60], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], ecx
test esi, esi
je 0x433c8f
cmp byte [ecx + 0x1e], 0
jne 0x433c8f
xor ebx, ebx
cmp dword [edi + 0x40], ebx
jne 0x433c8f
push ebx
push ebx
push ebx
push 0x15
pop edx
mov ecx, edi
call fcn.00424c21
add esp, 0xc
test eax, eax
je 0x432eef
xor eax, eax
inc eax
jmp 0x433c8f
push 0x2c
lea eax, [esp + 0x84]
push ebx
push eax
call fcn.00558fd0
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp byte [ecx], 4
ja 0x432f23
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x24]
call fcn.00420f0f
mov eax, 0xfffe
and word [esi + 6], ax
mov dword [esi + 0x18], ebx
push ebx
mov edx, esi
mov ecx, edi
call fcn.00432b31
mov eax, dword [esi + 0x18]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov eax, dword [esi + 8]
pop ecx
mov dword [esp + 0x40], eax
cmp dword [edi + 0x40], ebx
jne 0x433c68
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x1e], bl
jne 0x433c68
movzx eax, word [esi + 6]
shr eax, 2
and eax, 1
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.00430a50
mov dword [esp + 0x10], eax
test eax, eax
je 0x433c68
mov ecx, ebx
mov dword [esp + 0x28], ebx
cmp dword [esi + 0x1c], ebx
jne 0x4330bc
mov edx, dword [esp + 0x40]
movsx eax, word [edx]
cmp ecx, eax
jge 0x4330bc
mov eax, ecx
imul eax, eax, 0x38
mov dword [esp + 0x1c], eax
mov edi, dword [eax + edx + 0x18]
mov dword [esp + 0x14], edi
test edi, edi
mov edi, dword [esp + 0x60]
je 0x4330ae
cmp byte [eax + edx + 0x1c], bl
jne 0x4330ae
lea edx, [esp + 0x20]
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.00420279
mov eax, dword [esp + 0x20]
add dword [edi + 0x204], eax
mov eax, dword [esp + 0x14]
mov edx, esi
movzx eax, word [eax + 6]
shr eax, 2
and eax, 1
push eax
push dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
push eax
mov ecx, edi
call fcn.00431eef
add esp, 0xc
test eax, eax
je 0x43301d
cmp dword [esp + 0x3c], ebx
je 0x433014
or word [esi + 6], 4
mov dword [esp + 0x4c], 1
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x433069
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + ecx + 0x20]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xec]
push eax
mov ecx, edi
mov word [esp + 0xf0], 9
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
call fcn.00432e79
mov eax, dword [esp + 0x20]
pop ecx
mov ecx, dword [esp + 0x40]
mov byte [eax + ecx + 0x1c], 1
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x1e], bl
jne 0x433c68
lea edx, [esp + 0x20]
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.00420279
mov eax, dword [esp + 0x20]
sub dword [edi + 0x204], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 8]
cmp byte [eax], 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], edx
jbe 0x4330ae
mov eax, dword [esi + 0x18]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
inc ecx
mov dword [esp + 0x28], ecx
cmp dword [esi + 0x1c], ebx
je 0x432f8a
mov edx, dword [esi + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x20], edx
movzx edx, word [esi + 6]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
xor ecx, ecx
inc ecx
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
and edx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], edx
cmp dword [esi + 0x1c], ebx
je 0x43313a
cmp dword [esi + 0x24], ebx
jne 0x433127
mov ecx, ebx
mov eax, esi
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], esi
mov ebx, eax
mov eax, dword [eax + 0x1c]
inc ecx
test eax, eax
jne 0x4330f6
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x58], 0
je 0x433127
cmp ecx, dword [eax + 0x58]
jle 0x433127
push str.too_many_terms_in_compound_SELECT
push edi
call fcn.004090e9
pop ecx
pop ecx
jmp 0x432ee7
push dword [esp + 0x34]
mov edx, esi
mov ecx, edi
call fcn.00430bff
pop ecx
jmp 0x433c8f
mov eax, dword [esp + 0x28]
cmp dword [eax], ecx
jle 0x433152
mov edx, dword [esp + 0x34]
mov ecx, edi
call fcn.0042fd12
xor ecx, ecx
inc ecx
jmp 0x433154
mov eax, ebx
test eax, eax
jne 0x433c68
mov al, byte [esi + 6]
and al, 5
cmp al, cl
jne 0x43318c
mov edx, dword [esi]
mov ecx, dword [esp + 0x24]
push ebx
call fcn.00420a48
mov edx, eax
mov eax, 0xfffe
and word [esi + 6], ax
pop ecx
mov dword [esp + 0x2c], edx
mov dword [esi + 0x10], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4331d3
mov edx, eax
mov ecx, edi
call fcn.00430096
mov edx, dword [esp + 0x44]
mov ecx, eax
mov eax, dword [edi + 0x44]
mov dword [edx + 8], eax
inc dword [edi + 0x44]
mov eax, dword [edx]
push 0xfffffffffffffff0
push ecx
mov ecx, dword [esp + 0x18]
push ebx
add eax, 2
push eax
push dword [edx + 8]
push 0x76
pop edx
call fcn.0041627b
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x1c], ecx
mov dword [esi + 0x40], ecx
jmp 0x4331d8
or dword [esp + 0x1c], 0xffffffff
mov eax, dword [esp + 0x34]
cmp byte [eax], 9
jne 0x4331fa
mov ecx, dword [esp + 0x28]
push ebx
push dword [ecx]
mov ecx, dword [esp + 0x18]
push dword [eax + 4]
push 0x76
pop edx
call fcn.00416227
add esp, 0xc
mov ecx, dword [esp + 0x10]
call fcn.004162ae
push eax
mov edx, esi
mov ecx, edi
mov dword [esp + 0xb8], eax
call fcn.00430a84
pop ecx
cmp dword [esp + 0x14], ebx
je 0x43325c
mov eax, dword [edi + 0x44]
mov dword [esp + 0x5c], eax
inc eax
mov dword [edi + 0x44], eax
mov edx, dword [esi]
mov ecx, edi
call fcn.00430096
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push dword [esp + 0x64]
mov esi, eax
push 0x76
pop edx
call fcn.00416227
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push 0xfffffffffffffff0
push esi
call fcn.00416610
mov esi, dword [esp + 0x74]
pop ecx
pop ecx
jmp 0x433261
or dword [esp + 0x5c], 0xffffffff
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x4c], ebx
jne 0x4332fb
test ecx, ecx
jne 0x4332ff
mov edx, dword [esp + 0x40]
push ebx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x5c]
mov ecx, edi
call fcn.00439968
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x433c68
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
test edx, edx
js 0x4332c9
test eax, eax
jne 0x4332c9
mov ecx, dword [esp + 0x10]
push 1
call fcn.004165c9
or dword [esi + 0x40], 0xffffffff
mov eax, dword [esp + 0x48]
pop ecx
mov ecx, dword [esp + 0x20]
push dword [ecx + 0x14]
mov edx, esi
push dword [ecx + 0x10]
mov ecx, dword [esp + 0x3c]
push ecx
push 0xffffffffffffffff
push eax
push ebx
push ebx
push dword [esp + 0x44]
mov ecx, edi
call fcn.0042fd36
mov ecx, dword [esp + 0x40]
add esp, 0x20
call fcn.0043a0dc
mov ecx, dword [esp + 0x10]
jmp 0x433c1d
test ecx, ecx
je 0x433333
mov eax, dword [esi]
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
test edx, edx
jle 0x43331a
add eax, 0x10
xor edi, edi
dec edx
mov word [eax], di
lea eax, [eax + 0x14]
test edx, edx
jg 0x43330d
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
test eax, eax
jle 0x433333
add ecx, 0x10
xor edx, edx
dec eax
mov word [ecx], dx
lea ecx, [ecx + 0x14]
test eax, eax
jg 0x433326
mov ecx, dword [esp + 0x10]
call fcn.004162ae
mov dword [esp + 0x30], eax
xor eax, eax
push 9
pop ecx
lea edi, [esp + 0xc8]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x80]
mov dword [esp + 0xc8], edi
mov dword [esp + 0xe4], eax
test ecx, ecx
je 0x433386
mov eax, dword [ecx]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x43338d
mov dword [esp + 0x8c], ebx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0xc8]
call fcn.00423121
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
call fcn.00423121
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4333ee
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc4], ecx
mov edx, eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], 0x422ea2
mov dword [esp + 0xbc], 0x4230f5
call fcn.0041ed87
mov eax, dword [esp + 0x94]
mov dword [esp + 0x9c], eax
cmp dword [esp + 0xa4], ebx
jle 0x433437
mov esi, ebx
mov edi, ebx
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0xc8]
mov edx, dword [esi + eax]
mov edx, dword [edx + 0x10]
call fcn.00423121
inc edi
lea esi, [esi + 0x10]
cmp edi, dword [esp + 0xa4]
jl 0x433409
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x1e], bl
jne 0x433c68
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4339ce
mov eax, dword [edi + 0x44]
mov dword [esp + 0x84], eax
inc eax
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x44], eax
call fcn.00430096
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff0
push eax
push ebx
push dword [esp + 0x98]
mov dword [esp + 0xbc], eax
push dword [esp + 0x94]
push 0x76
pop edx
call fcn.0041627b
mov ecx, dword [esp + 0x24]
add esp, 0x14
inc dword [edi + 0x48]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x58], eax
inc eax
mov dword [esp + 0x50], eax
inc eax
mov dword [edi + 0x48], eax
call fcn.004162ae
inc dword [edi + 0x48]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x14], eax
call fcn.004162ae
mov ecx, dword [edi + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
lea eax, [ecx + 1]
add ecx, dword [edx]
push ebx
push dword [esp + 0x54]
mov dword [esp + 0x70], eax
lea eax, [ecx + 1]
mov dword [edi + 0x48], ecx
mov dword [esp + 0x54], eax
mov eax, dword [edx]
push ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
push 0x30
pop edx
mov dword [edi + 0x48], eax
call fcn.00416227
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ebx
push dword [esp + 0x5c]
push ebx
push 0x30
pop edx
call fcn.00416227
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ebx
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0x2f
pop edx
call fcn.00416227
mov edx, dword [esp + 0x4c]
add esp, 0xc
lea eax, [esp + 0x48]
push ebx
push eax
push dword [esp + 0x5c]
mov ecx, edi
call fcn.00439968
add esp, 0xc
mov dword [esp + 0x3c], eax
test eax, eax
je 0x433c68
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x433574
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x54], ebx
jmp 0x43371f
mov eax, dword [eax]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x38], eax
inc eax
mov dword [esp + 0x54], 1
mov dword [esp + 0x78], eax
mov ecx, eax
mov dword [esp + 0x7c], eax
mov edx, eax
test esi, esi
jle 0x4335b4
mov eax, dword [esp + 0x90]
add eax, 0xc
cmp dword [eax], edx
jl 0x4335aa
inc ecx
inc edx
add eax, 0x18
dec esi
jne 0x4335a4
mov dword [esp + 0x7c], ecx
mov edx, ecx
mov ecx, edi
call fcn.004231b9
mov esi, eax
mov ecx, edi
mov dword [esp + 0x64], esi
call fcn.00421a80
mov edx, dword [esp + 0x48]
push ebx
push esi
mov ecx, edi
call fcn.00422885
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
push ebx
add eax, esi
push eax
push dword [esp + 0x94]
push 6
pop edx
call fcn.00416227
add esp, 0x14
mov dword [esp + 0x70], ebx
cmp dword [esp + 0x94], ebx
jle 0x433692
mov ecx, dword [esp + 0x78]
mov edx, esi
add edx, ecx
mov dword [esp + 0x48], edx
mov eax, ebx
mov dword [esp + 0x38], ebx
mov esi, dword [esp + 0x90]
cmp dword [eax + esi + 0xc], ecx
mov esi, dword [esp + 0x10]
jl 0x433675
mov ecx, dword [esp + 0x90]
push ebx
push edx
push dword [eax + ecx + 4]
mov edx, dword [eax + ecx]
push dword [eax + ecx + 8]
mov ecx, edi
call fcn.00421990
mov edx, dword [esp + 0x58]
add esp, 0x10
cmp edx, eax
je 0x433663
push ebx
push edx
push eax
push 9
pop edx
mov ecx, esi
call fcn.00416227
mov edx, dword [esp + 0x54]
add esp, 0xc
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x38]
inc ecx
inc edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x48], edx
mov edi, dword [esp + 0x70]
inc edi
add eax, 0x18
cmp edi, dword [esp + 0x94]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jl 0x433618
mov ecx, edi
call fcn.00423169
mov ecx, dword [esp + 0x10]
mov esi, eax
push esi
push dword [esp + 0x80]
push dword [esp + 0x6c]
push 0x4f
pop edx
call fcn.00416227
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ebx
push esi
push dword [esp + 0x8c]
push 0x6c
pop edx
call fcn.00416227
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.00423185
mov eax, dword [esp + 0x7c]
cmp eax, dword [edi + 0x38]
jle 0x4336ea
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x64]
mov dword [edi + 0x3c], eax
mov ecx, dword [esp + 0x3c]
call fcn.0043a0dc
mov esi, dword [esp + 0x10]
push ebx
push dword [esp + 0x34]
mov ecx, esi
push dword [esp + 0x8c]
push 0x12
pop edx
call fcn.00416227
add esp, 0xc
mov ecx, edi
mov byte [esp + 0x81], 1
call fcn.00421a80
mov eax, dword [esi + 0xc]
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.00421a80
mov edx, dword [esp + 0x2c]
mov ecx, ebx
mov dword [esp + 0x38], ecx
cmp dword [edx], ebx
jle 0x433797
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
add eax, ecx
push eax
test ebx, ebx
je 0x433765
push ecx
push dword [esp + 0x8c]
mov ecx, esi
push 3
pop edx
call fcn.00416227
add esp, 0xc
jmp 0x43377f
mov eax, dword [esp + 0x68]
mov byte [esp + 0x84], 1
mov edx, dword [edx + 0xc]
mov ecx, edi
mov edx, dword [edx + eax]
call fcn.00422738
pop ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
add dword [esp + 0x64], 0x14
inc ecx
mov dword [esp + 0x38], ecx
cmp ecx, dword [edx]
jl 0x433743
xor ebx, ebx
push 0xfffffffffffffffa
push dword [esp + 0xb0]
mov ecx, esi
push dword [edx]
push dword [esp + 0x58]
push dword [esp + 0x78]
push 0x5f
pop edx
call fcn.0041627b
mov esi, dword [esi + 0xc]
mov ecx, dword [esp + 0x24]
add esp, 0x14
lea eax, [esi + 1]
push eax
push ebx
push eax
mov edx, 0x84
call fcn.00416227
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
add esp, 0xc
push dword [ecx]
mov ecx, edi
push dword [esp + 0x6c]
call fcn.00421aca
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
push ebx
push dword [esp + 0x80]
inc eax
push eax
push 0x2f
pop edx
call fcn.00416227
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov edx, 0x81
push ebx
push dword [esp + 0x34]
push dword [esp + 0x58]
call fcn.00416227
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ebx
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0x2f
pop edx
call fcn.00416227
mov eax, dword [esp + 0x1c]
mov edx, esi
add esp, 0xc
push dword [eax + 0xc]
mov esi, eax
mov ecx, esi
call fcn.00416516
pop ecx
lea edx, [esp + 0x80]
mov ecx, edi
call fcn.00432ccf
push ebx
push dword [esp + 0x5c]
mov ecx, esi
push 1
push 0x30
pop edx
call fcn.00416227
add esp, 0xc
cmp dword [esp + 0x54], 0
je 0x43388c
push ebx
push dword [esp + 0x74]
mov ecx, esi
push dword [esp + 0x8c]
push 0x6a
pop edx
call fcn.00416227
add esp, 0xc
jmp 0x4338a6
mov ecx, dword [esp + 0x3c]
call fcn.0043a0dc
mov edx, dword [esp + 0xb0]
push 1
mov ecx, esi
call fcn.004165c9
pop ecx
mov eax, dword [esp + 0x50]
push ebx
push dword [esp + 0x78]
inc eax
push eax
push 0x2f
pop edx
mov ecx, esi
call fcn.00416227
add esp, 0xc
mov ecx, esi
push ebx
push dword [esp + 0x34]
push ebx
push 0x60
pop edx
call fcn.00416227
mov edi, dword [esi + 0xc]
add esp, 0xc
mov ecx, esi
push ebx
push dword [esp + 0x54]
push 1
push 0x30
pop edx
call fcn.00416227
mov eax, dword [esp + 0x5c]
add esp, 0xc
inc eax
push ebx
push ebx
push eax
push 0x19
pop edx
mov ecx, esi
call fcn.00416227
mov edx, dword [esp + 0x80]
add esp, 0xc
mov ecx, esi
call fcn.004162fe
mov esi, dword [esi + 0xc]
push ebx
lea eax, [esi + 2]
push eax
push dword [esp + 0x60]
mov edx, 0x81
call fcn.00416227
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
inc eax
push ebx
push ebx
push eax
push 0x19
pop edx
call fcn.00416227
mov ecx, dword [esp + 0x6c]
add esp, 0xc
lea edx, [esp + 0x80]
call fcn.00432c80
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
inc esi
push 8
push esi
call fcn.00422b3d
push edi
mov edi, dword [esp + 0x6c]
push esi
push dword [esp + 0x44]
mov esi, dword [esp + 0x80]
push dword [esp + 0x70]
mov edx, esi
push dword [esp + 0x5c]
mov ecx, edi
push ebx
push ebx
push dword [esi]
call fcn.0042fd36
push ebx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3c]
push ebx
inc eax
push eax
push 0x19
pop edx
call fcn.00416227
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
add esp, 0x34
call fcn.004162fe
lea edx, [esp + 0x80]
mov ecx, edi
call fcn.00432ba8
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push dword [esp + 0x1c]
push 0x19
pop edx
call fcn.00416227
add esp, 0xc
jmp 0x433c10
lea edx, [esp + 0x80]
mov ecx, esi
mov dword [esp + 0x58], ebx
call fcn.004324e8
mov dword [esp + 0x14], eax
test eax, eax
je 0x433aeb
mov edx, dword [eax + 0x48]
mov ecx, dword [edi]
call fcn.0042f0f8
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x44]
mov dword [esp + 0x5c], eax
inc eax
mov dword [edi + 0x44], eax
mov eax, dword [edx + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x3c], eax
call fcn.00427ed1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push dword [eax + 4]
mov ecx, edi
push ebx
push dword [eax + 0x18]
call fcn.00424ca2
mov edx, dword [esp + 0x20]
add esp, 0xc
cmp dword [edx + 0x14], ebx
je 0x433a7f
mov esi, dword [edx + 0x14]
mov ecx, ebx
test ecx, ecx
je 0x433a52
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 4]
jge 0x433a54
mov ecx, esi
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x433a46
mov esi, dword [esp + 0x6c]
test ecx, ecx
je 0x433a7f
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0xc]
jge 0x433a7f
mov eax, dword [ecx + 0x14]
mov edx, ecx
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.004281ae
mov dword [esp + 0x68], eax
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x40]
push dword [esp + 0x64]
push 0xd
pop edx
call fcn.00416227
mov eax, dword [esp + 0x74]
add esp, 0xc
test eax, eax
je 0x433ab3
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff0
push eax
or edx, 0xffffffff
call fcn.00416610
pop ecx
pop ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x10]
push ebx
push dword [eax + 8]
push dword [esp + 0x64]
push 0x6b
pop edx
call fcn.00416227
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ebx
push ebx
push dword [esp + 0x64]
push 0x21
pop edx
call fcn.00416227
add esp, 0xc
jmp 0x433bce
mov ecx, esi
mov dword [esp + 0x14], ebx
call fcn.00432483
mov byte [esp + 0x1b], al
test al, al
je 0x433b40
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
push ebx
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
call fcn.00420a48
mov edx, eax
pop ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x14], edx
test edx, edx
je 0x433b40
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x1e], bl
jne 0x433b40
cmp byte [esp + 0x1b], 1
mov eax, dword [edx + 0xc]
setne cl
mov byte [eax + 0xc], cl
mov eax, dword [edx + 0xc]
mov eax, dword [eax]
mov byte [eax], 0x97
lea edx, [esp + 0x80]
mov ecx, edi
call fcn.00432ba8
movzx eax, byte [esp + 0x1b]
mov edx, dword [esp + 0x40]
push eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x5c]
mov ecx, edi
call fcn.00439968
add esp, 0xc
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x433b85
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x24]
call fcn.00420f0f
jmp 0x433c68
lea edx, [esp + 0x80]
mov ecx, edi
call fcn.00432ccf
cmp dword [esp + 0x14], ebx
jne 0x433bb7
cmp byte [esp + 0x1b], bl
je 0x433bb7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
push ebx
push dword [eax + 0x14]
push ebx
push 0x60
pop edx
call fcn.00416227
add esp, 0xc
mov ecx, dword [esp + 0x3c]
call fcn.0043a0dc
lea edx, [esp + 0x80]
mov ecx, edi
call fcn.00432c80
mov edx, dword [esp + 0x20]
push 8
push dword [esp + 0x34]
mov ecx, edi
mov dword [esp + 0x4c], ebx
call fcn.00422b3d
mov eax, dword [esp + 0x38]
push eax
push eax
push dword [esp + 0x44]
mov edx, esi
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push dword [esi]
mov ecx, edi
call fcn.0042fd36
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
add esp, 0x28
call fcn.00420f0f
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
call fcn.004162fe
cmp dword [esp + 0x44], 0
je 0x433c3b
push dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov edx, esi
push dword [eax]
push ecx
mov ecx, edi
call fcn.00430135
add esp, 0xc
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
call fcn.004162fe
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
cmp byte [eax], 5
jne 0x433c68
push dword [esp + 0x28]
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.00430592
pop ecx
push dword [esp + 0x90]
push dword [esp + 0x28]
call fcn.004076cd
push dword [esp + 0xa8]
push dword [esp + 0x30]
call fcn.004076cd
mov eax, dword [esp + 0x48]
add esp, 0x10
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00554591
mov esp, ebp
pop ebp
ret