Function at 0x435230
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x214
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi]
mov dword [esp + 0x18], edi
call dword [eax + 0xc]
mov eax, dword [esi + 0x3c]
or ebp, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0xffffffff
jl 0x43527b
cmp eax, dword [esi + 0x34]
jge 0x43527b
lea ecx, [eax + eax*2]
mov ebp, eax
lea edx, [eax + ecx*4]
mov ecx, dword [esi + 0x38]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x14], ecx
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], edx
push edi
push edi
mov ecx, esi
call fcn.00436010
cmp eax, dword [esi + 0x80]
je 0x4352bc
cmp eax, 0xffffffff
mov dword [esi + 0x80], eax
je 0x4352a8
mov ecx, dword [esi + 0x5c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4352ae
or ecx, 0xffffffff
or eax, 0xffffffff
push eax
push ecx
push 0x10000001
mov ecx, esi
call fcn.00436b30
mov ebx, dword [esi]
push edi
mov ecx, esi
call fcn.00436160
push eax
mov ecx, esi
call dword [ebx + 0x14]
test eax, eax
je 0x435312
mov eax, dword [esi + 0x74]
cmp eax, 0xffffffff
je 0x4352ff
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea ecx, [eax + edx*4]
mov eax, dword [eax + edx*4 + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
shl eax, 0x10
mov ebx, dword [ecx + 0x14]
or eax, edx
xor edx, edx
cmp ebx, 0xffffffff
setne dl
mov ecx, edx
jmp 0x435304
or eax, 0xffffffff
xor ecx, ecx
push ecx
push eax
push 0x10000002
mov ecx, esi
call fcn.00436b30
cmp dword [esi + 0x84], edi
je 0x4353e4
mov eax, dword [esi + 0x74]
cmp eax, 0xffffffff
je 0x4353e4
mov ecx, dword [esi + 0x5c]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x38]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
cmp dword [ecx + eax*4 + 0x10], edi
je 0x4353e4
lea edx, [esp + 0x1c]
push edx
call fcn.0045df80
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x20]
add esp, 4
cmp eax, ecx
jne 0x43536a
mov ecx, dword [esi + 0x7c]
mov eax, dword [esp + 0x20]
cmp ecx, eax
je 0x4353e4
mov eax, dword [esi + 0x74]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + edx*4 + 4]
push ecx
mov ecx, esi
call fcn.00436410
mov eax, dword [esi + 0x74]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + edx*4 + 8]
lea eax, [eax + edx*4]
mov edx, dword [esi]
push ecx
mov eax, dword [eax + 4]
mov ecx, esi
push eax
call dword [edx + 0x1c]
mov ecx, dword [esp + 0x14]
cmp ecx, edi
je 0x4353a8
mov ebx, dword [ecx + 8]
jmp 0x4353ac
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp eax, edi
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], ecx
je 0x4353e8
mov eax, dword [esi + 0x74]
push edi
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + edx*4 + 4]
lea eax, [eax + edx*4]
shl ecx, 0x10
or ecx, dword [eax + 8]
push ecx
push 0x10000004
mov ecx, esi
call fcn.00436b30
jmp 0x4353e8
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x84]
mov edx, 1
cmp eax, edi
je 0x435440
mov eax, dword [esi + 0x74]
cmp eax, 0xffffffff
je 0x435440
mov ecx, dword [esi + 0x5c]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 4]
lea ecx, [eax + eax*2]
lea eax, [eax + ecx*4]
mov ecx, dword [esi + 0x38]
cmp dword [ecx + eax*4 + 0x14], edi
je 0x435440
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx]
call dword [edx + 0x14]
push eax
call fcn.00446f90
mov edx, 1
add esp, 4
test dl, al
je 0x435440
mov eax, dword [esi + 0x88]
or al, dl
mov dword [esi + 0x88], eax
mov ecx, 2
mov eax, 4
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], 0x10
mov dword [esp + 0x1d4], 0x20
mov dword [esp + 0x1d8], 0x40
mov dword [esp + 0x1dc], 0x80
mov dword [esp + 0x1e0], 0x100
mov dword [esp + 0x1e4], 0x200
mov dword [esp + 0x1e8], 0x1000
mov dword [esp + 0x1ec], 0x2000
mov dword [esp + 0x1f0], 0x4000
mov dword [esp + 0x1f4], 0x8000
mov dword [esp + 0x1f8], 0x10000
mov dword [esp + 0x1fc], 0x20000
mov dword [esp + 0x200], 0x40000
mov dword [esp + 0x204], 0x80000
mov dword [esp + 0x208], 0x100000
mov dword [esp + 0x20c], 0x200000
mov dword [esp + 0x210], 0x400000
mov dword [esp + 0x214], 0x800000
mov dword [esp + 0x218], 0x1000000
mov dword [esp + 0x21c], 0x2000000
mov dword [esp + 0x220], 0x40000000
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], 3
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 7
mov dword [esp + 0xcc], 8
mov dword [esp + 0xd0], 5
mov dword [esp + 0xd4], 6
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], edi
mov dword [esp + 0x100], 0x13
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edi
mov dword [esp + 0x170], edi
mov dword [esp + 0x174], edi
mov dword [esp + 0x178], edi
mov dword [esp + 0x17c], edi
mov dword [esp + 0x180], 3
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], 5
mov dword [esp + 0x18c], 6
mov dword [esp + 0x190], 7
mov dword [esp + 0x194], 8
mov dword [esp + 0x198], edi
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1bc], edi
mov dword [esp + 0x1c0], 0x13
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x108], ecx
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x164]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x48]
lea eax, [esp + 0x104]
mov dword [esp + 0x104], edx
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x88]
not ecx
lea edx, [esp + 0x44]
and ecx, eax
mov dword [esp + 0x2c], edx
xor eax, eax
mov dword [esp + 0x60], 3
mov dword [esp + 0x68], 0xb
mov dword [esp + 0x6c], 0xc
mov dword [esp + 0x70], 9
mov dword [esp + 0x74], 0xa
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], 0x13
mov dword [esp + 0x10c], edi
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], 3
mov dword [esp + 0x128], 9
mov dword [esp + 0x12c], 0xa
mov dword [esp + 0x130], 0xb
mov dword [esp + 0x134], 0xc
mov dword [esp + 0x138], edi
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], edi
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], edi
mov dword [esp + 0x14c], edi
mov dword [esp + 0x150], edi
mov dword [esp + 0x154], edi
mov dword [esp + 0x158], edi
mov dword [esp + 0x15c], edi
mov dword [esp + 0x160], 0x13
mov dword [esp + 0x34], 0x4af4e0
mov dword [esp + 0x38], 0x4af540
mov dword [esp + 0x3c], 0x4af5a0
mov dword [esp + 0x40], 0x4af600
xor edx, edx
test dword [esp + edx*4 + 0x1c4], ecx
jne 0x435884
inc edx
cmp edx, 0x18
jl 0x435873
jmp 0x4358a9
mov ecx, dword [esi + 0x4c]
mov eax, dword [esp + ecx*4 + 0x24]
mov eax, dword [eax + edx*4]
cmp eax, 0x13
jne 0x4358a9
push 0x10
call fcn.00445ff0
and eax, 0x8000
add esp, 4
neg eax
sbb eax, eax
add eax, 8
mov ecx, dword [esp + 0x14]
dec eax
cmp eax, 0x11
ja case.default.0x4358b7
jmp dword [eax*4 + 0x435fc8]
mov eax, dword [esi + 0x74]
cmp eax, 0xffffffff
je 0x435fb6
mov edx, dword [esi + 0x5c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov edx, dword [esi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x20]
test eax, eax
je 0x435fb6
mov eax, dword [esi + 0x74]
mov edx, dword [esi]
push 1
push eax
mov ecx, esi
call dword [edx + 0x28]
cmp dword [esi + 0x50], edi
je 0x435917
mov eax, dword [esi + 0x74]
mov edx, dword [esi + 0x5c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov edx, dword [esi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x1c]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10]
cmp eax, edi
mov dword [esp + 0x18], eax
jne 0x435fb6
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x5c]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 4]
mov ecx, esi
push edx
call fcn.00436410
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
mov eax, dword [esi]
push 1
push 0xffffffffffffffff
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10]
pop edi
pop esi
pop ebp
mov dword [esp + 0xc], eax
pop ebx
add esp, 0x214
ret
mov eax, dword [esi]
push ebx
push ebp
mov ecx, esi
call dword [eax + 0x20]
test eax, eax
je 0x435fb6
cmp ebp, 0xffffffff
je 0x435fb6
cmp ebx, 0xffffffff
je 0x435fb6
mov edx, dword [esi]
push edi
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
pop edi
pop esi
pop ebp
mov dword [esp + 0xc], eax
pop ebx
add esp, 0x214
ret
mov edx, dword [esi]
push edi
push 0xffffffffffffffff
mov ecx, esi
call dword [edx + 0x28]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
pop edi
pop esi
pop ebp
mov dword [esp + 0xc], eax
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov ecx, dword [ecx]
cmp ecx, edi
jle 0x435fb6
dec ebx
js 0x4359eb
cmp ebx, ecx
jl 0x4359ee
lea ebx, [ecx - 1]
mov edx, dword [esi]
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x1c]
test eax, eax
jne 0x435a15
mov eax, dword [esp + 0x14]
inc edi
mov ecx, dword [eax]
cmp edi, ecx
jl 0x4359e4
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
shl ebp, 0x10
or ebp, ebx
push 0xffffffffffffffff
push ebp
push 0x10000004
mov ecx, esi
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov ecx, dword [ecx]
mov dword [esp + 0x10], edi
cmp ecx, edi
jle 0x435fb6
inc ebx
js 0x435a55
cmp ebx, ecx
jl 0x435a57
xor ebx, ebx
mov edx, dword [esi]
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x1c]
test eax, eax
jne 0x435a86
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
inc eax
mov ecx, dword [ecx]
mov dword [esp + 0x10], eax
cmp eax, ecx
jl 0x435a4e
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
push 1
shl ebp, 0x10
or ebp, ebx
mov ecx, esi
push ebp
push 0x10000004
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
mov eax, dword [esi + 0x34]
cmp eax, edi
jle 0x435fb6
dec ebp
js 0x435abb
cmp ebp, eax
jl 0x435abe
lea ebp, [eax - 1]
push ebp
mov ecx, esi
call fcn.00436410
test eax, eax
jne 0x435ae1
mov eax, dword [esi + 0x34]
inc edi
cmp edi, eax
jl 0x435ab4
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
push 0xffffffffffffffff
push ebp
push 0x10000003
mov ecx, esi
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
mov eax, dword [esi + 0x34]
xor ebx, ebx
cmp eax, edi
jle 0x435fb6
inc ebp
js 0x435b13
cmp ebp, eax
jl 0x435b15
xor ebp, ebp
push ebp
mov ecx, esi
call fcn.00436410
test eax, eax
jne 0x435b38
mov eax, dword [esi + 0x34]
inc ebx
cmp ebx, eax
jl 0x435b0c
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
push 1
push ebp
push 0x10000003
mov ecx, esi
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov edx, dword [esi + 0x54]
mov dword [esp + 0x10], edi
mov ecx, dword [edx + ebp*8]
cmp ecx, edi
jle 0x435fb6
mov eax, ebx
cdq
idiv ecx
dec edx
cmp edx, edi
jge 0x435b7d
lea edx, [ecx - 1]
imul ecx, eax
mov eax, dword [esi]
add ecx, edx
mov ebx, ecx
mov ecx, esi
push ebx
push ebp
call dword [eax + 0x1c]
test eax, eax
jne 0x435bb3
mov ecx, dword [esi + 0x54]
mov eax, dword [esp + 0x10]
inc eax
mov ecx, dword [ecx + ebp*8]
mov dword [esp + 0x10], eax
cmp eax, ecx
jl 0x435b70
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
shl ebp, 0x10
or ebp, ebx
push 0xffff
push ebp
push 0x10000004
mov ecx, esi
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov edx, dword [esi + 0x54]
mov dword [esp + 0x10], edi
mov ecx, dword [edx + ebp*8]
cmp ecx, edi
jle 0x435fb6
mov eax, ebx
xor ebx, ebx
cdq
idiv ecx
inc edx
mov edi, eax
cmp edx, ecx
mov eax, dword [esi]
setge bl
imul ecx, edi
dec ebx
and ebx, edx
add ebx, ecx
mov ecx, esi
push ebx
push ebp
call dword [eax + 0x1c]
test eax, eax
jne 0x435a86
mov ecx, dword [esi + 0x54]
mov eax, dword [esp + 0x10]
inc eax
mov ecx, dword [ecx + ebp*8]
mov dword [esp + 0x10], eax
cmp eax, ecx
jl 0x435bf3
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov edx, dword [esi + 0x54]
mov dword [esp + 0x10], edi
mov ecx, dword [edx + ebp*8 + 4]
lea eax, [edx + ebp*8]
cmp ecx, edi
mov dword [esp + 0x14], ecx
jle 0x435fb6
mov ecx, dword [eax]
mov eax, ebx
cdq
idiv ecx
lea ebx, [eax - 1]
cmp ebx, edi
jge 0x435c74
mov eax, dword [esp + 0x14]
lea ebx, [eax - 1]
imul ebx, ecx
add ebx, edx
mov edx, dword [esi]
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x1c]
test eax, eax
jne 0x435cb0
mov eax, dword [esi + 0x54]
mov ecx, dword [esp + 0x10]
inc ecx
mov edx, dword [eax + ebp*8 + 4]
lea eax, [eax + ebp*8]
cmp ecx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jl 0x435c5f
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
push 0xffff0000
jmp 0x435a88
cmp ecx, edi
je 0x435fb6
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x10], edi
lea eax, [ecx + ebp*8]
mov ecx, dword [ecx + ebp*8 + 4]
cmp ecx, edi
jle 0x435fb6
mov edi, dword [eax]
mov eax, ebx
cdq
idiv edi
xor ebx, ebx
inc eax
cmp eax, ecx
mov ecx, esi
setge bl
dec ebx
and ebx, eax
imul ebx, edi
add ebx, edx
mov edx, dword [esi]
push ebx
push ebp
call dword [edx + 0x1c]
test eax, eax
jne 0x435d22
mov eax, dword [esi + 0x54]
mov edx, dword [esp + 0x10]
inc edx
mov ecx, dword [eax + ebp*8 + 4]
lea eax, [eax + ebp*8]
cmp edx, ecx
mov dword [esp + 0x10], edx
jl 0x435cd8
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
push 0x10000
jmp 0x435a88
cmp ecx, edi
je 0x435fb6
cmp ebx, edi
jle 0x435d4f
mov edx, dword [esi]
lea edi, [ebx - 1]
push edi
push ebp
mov ecx, esi
call dword [edx + 0x1c]
test eax, eax
je 0x435d4f
push 0xffffffffffffffff
jmp 0x435f75
push 0xffffffffffffffff
shl ebp, 0x10
and ebx, 0xffff
mov ecx, esi
or ebp, ebx
push ebp
push 0x10000005
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov eax, dword [esi]
lea edi, [ebx + 1]
push edi
push ebp
mov ecx, esi
call dword [eax + 0x1c]
shl ebp, 0x10
test eax, eax
mov ecx, esi
push 1
je 0x435db3
or ebp, edi
push ebp
push 0x10000004
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
and ebx, 0xffff
or ebp, ebx
push ebp
push 0x10000005
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov ecx, dword [esi + 0x54]
mov eax, ebx
cdq
mov ecx, dword [ecx + ebp*8]
idiv ecx
cmp edx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
jle 0x435e21
mov edx, dword [esi + 0x54]
mov ecx, dword [esp + 0x14]
dec ecx
mov eax, dword [edx + ebp*8]
mov edx, dword [esi]
imul eax, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x14], ecx
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x18], eax
call dword [edx + 0x1c]
test eax, eax
jne 0x435e2b
cmp dword [esp + 0x14], edi
jg 0x435df4
push 0xffff
jmp 0x435d51
push 0xffff
jmp 0x435ede
cmp ecx, edi
je 0x435fb6
mov eax, dword [esi + 0x54]
mov ecx, dword [eax + ebp*8]
mov eax, ebx
cdq
idiv ecx
mov dword [esp + 0x1c], eax
lea edi, [edx + 1]
cmp edi, ecx
jge 0x435e76
imul ecx, dword [esp + 0x1c]
mov edx, dword [esi]
add ecx, edi
mov dword [esp + 0x10], ecx
push ecx
push ebp
mov ecx, esi
call dword [edx + 0x1c]
test eax, eax
jne 0x435e7d
mov eax, dword [esi + 0x54]
inc edi
mov ecx, dword [eax + ebp*8]
cmp edi, ecx
jl 0x435e53
push 1
jmp 0x435d51
push 1
jmp 0x435ede
cmp ecx, edi
je 0x435fb6
mov ecx, dword [esi + 0x54]
mov eax, ebx
cdq
mov ecx, dword [ecx + ebp*8]
idiv ecx
cmp eax, edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jle 0x435ecf
mov edx, dword [esi + 0x54]
mov ecx, dword [esp + 0x14]
dec ecx
mov eax, dword [edx + ebp*8]
mov edx, dword [esp + 0x1c]
imul eax, ecx
add eax, edx
mov edx, dword [esi]
mov dword [esp + 0x14], ecx
push eax
push ebp
mov ecx, esi
mov dword [esp + 0x18], eax
call dword [edx + 0x1c]
test eax, eax
jne 0x435ed9
cmp dword [esp + 0x14], edi
jg 0x435ea0
push 0xffff0000
jmp 0x435d51
push 0xffff0000
mov edx, dword [esp + 0x14]
mov ecx, esi
shl ebp, 0x10
or ebp, edx
push ebp
push 0x10000004
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
cmp ecx, edi
je 0x435fb6
mov eax, dword [esi + 0x54]
mov edi, dword [eax + ebp*8]
lea ecx, [eax + ebp*8]
mov eax, ebx
cdq
idiv edi
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 4]
inc eax
cmp eax, edx
mov dword [esp + 0x14], eax
jl 0x435f37
push 0x10000
jmp 0x435d51
mov eax, dword [esp + 0x14]
mov edi, dword [ecx]
mov edx, dword [esp + 0x1c]
imul edi, eax
add edi, edx
mov edx, dword [esi]
push edi
push ebp
mov ecx, esi
call dword [edx + 0x1c]
test eax, eax
jne 0x435f70
mov ecx, dword [esi + 0x54]
mov eax, dword [esp + 0x14]
inc eax
mov edx, dword [ecx + ebp*8 + 4]
lea ecx, [ecx + ebp*8]
cmp eax, edx
mov dword [esp + 0x14], eax
jl 0x435f33
push 0x10000
jmp 0x435d51
push 0x10000
shl ebp, 0x10
or ebp, edi
mov ecx, esi
push ebp
push 0x10000004
call fcn.00436b30
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret
mov ecx, esi
call fcn.00436860
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
cmp ecx, edi
mov dword [esp + 0x18], ecx
je 0x435fb6
mov edx, dword [esi]
push edi
push eax
mov ecx, esi
call dword [edx + 0x28]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret