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

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + 0xc]
push ebx
push ebp
shl ecx, 0x10
push esi
mov esi, dword [eax + 0x38]
mov dword [esp + 0x38], ecx
mov eax, dword [edx + 0xec]
shl eax, 0x10
mov dword [esp + 0x3c], eax
mov al, byte [0x680ed1]
test al, al
push edi
mov dword [esp + 0x10], esi
je 0x469ba8
lea ecx, [esp + 0x3c]
push ecx
lea eax, [esi + 0x24]
call fcn.00460fb0
add esp, 4
jmp 0x469bbc
lea edx, [esp + 0x3c]
push edx
mov eax, edx
push eax
lea ecx, [esi + 0x24]
push ecx
call fcn.0043df30
add esp, 0xc
mov ecx, dword [esi + 0x64]
mov bl, byte [esi + 2]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x68]
mov dword [esp + 0x14], ecx
mov cl, bl
and cl, 2
mov ebp, eax
mov edi, edx
je 0x469bf0
mov ebp, dword [esi + 0x90]
mov edi, dword [esi + 0x94]
add ebp, eax
add edi, edx
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x78]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
shl esi, 0x10
shl eax, 0x10
dec esi
dec eax
mov dword [esp + 0x28], eax
test byte [edx], 1
mov dword [esp + 0x34], esi
je 0x469f39
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edx, dword [edx + 4]
sub eax, esi
test cl, cl
mov dword [esp + 0x24], edx
je 0x469db4
mov ebx, dword [esp + 0x54]
dec eax
mov ecx, eax
imul eax, dword [esp + 0x14]
imul ecx, dword [esp + 0x18]
add ecx, ebp
add eax, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov eax, ebp
mov ecx, edi
sar eax, 0x10
sar ecx, 0x10
test eax, eax
jle 0x469c75
test ecx, ecx
jle 0x469c75
mov esi, dword [esp + 0x1c]
dec esi
cmp eax, esi
jge 0x469c75
mov esi, dword [esp + 0x20]
dec esi
cmp ecx, esi
jl 0x469ce8
mov esi, dword [esp + 0x50]
cmp dword [esp + 0x4c], esi
jge 0x469ce8
mov esi, dword [esp + 0x10]
test byte [esi + 2], 1
je 0x469ca6
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x78]
push eax
mov ecx, esi
add ecx, 0x60
push ecx
push ebx
push edi
push ebp
mov ecx, edx
call fcn.00476150
jmp 0x469cb0
push ebx
push ecx
push eax
mov ecx, edx
call fcn.00475850
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x54]
test eax, eax
je 0x469cc7
push 1
push ebx
push eax
call fcn.00463690
add esp, 0xc
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
add edi, edx
mov edx, dword [esp + 0x24]
add ebp, esi
inc ecx
mov dword [esp + 0x4c], ecx
add ebx, 8
jmp 0x469c51
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x54], ebx
lea esi, [ebx + eax*8 - 8]
mov ebx, dword [esp + 0x10]
lea esp, [esp]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
sar eax, 0x10
sar ecx, 0x10
test eax, eax
jle 0x469d2c
test ecx, ecx
jle 0x469d2c
mov edx, dword [esp + 0x1c]
dec edx
cmp eax, edx
jge 0x469d2c
mov edx, dword [esp + 0x20]
dec edx
cmp ecx, edx
jl 0x469f77
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x4c], edx
jge 0x46a0bc
test byte [ebx + 2], 1
mov dword [esp + 0x38], esi
je 0x469d69
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x78]
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
lea eax, [ebx + 0x60]
push eax
push esi
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.00476150
jmp 0x469d75
push esi
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.00475850
dec dword [esp + 0x50]
mov eax, dword [ebx + 0x54]
sub esi, 8
test eax, eax
je 0x469d93
mov ecx, dword [esp + 0x38]
push 1
push ecx
push eax
call fcn.00463690
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
sub eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x469d00
test bl, 1
je 0x469dcb
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
dec esi
dec ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x54]
mov ecx, eax
imul eax, dword [esp + 0x14]
imul ecx, dword [esp + 0x18]
add ecx, ebp
add eax, edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], eax
mov eax, ebp
mov ecx, edi
sar eax, 0x10
sar ecx, 0x10
test eax, eax
jl 0x469e05
test ecx, ecx
jl 0x469e05
cmp eax, dword [esp + 0x1c]
jge 0x469e05
cmp ecx, dword [esp + 0x20]
jl 0x469e72
mov ebx, dword [esp + 0x4c]
cmp ebx, dword [esp + 0x50]
jge 0x469e72
mov ebx, dword [esp + 0x10]
test byte [ebx + 2], 1
je 0x469e30
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + 0x78]
push ecx
push esi
push edi
push ebp
mov ecx, edx
call fcn.004759d0
jmp 0x469e3a
push esi
push ecx
push eax
mov ecx, edx
call fcn.00475850
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x54]
test eax, eax
je 0x469e51
push 1
push esi
push eax
call fcn.00463690
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
add edi, edx
mov edx, dword [esp + 0x24]
add ebp, ebx
inc ecx
mov dword [esp + 0x4c], ecx
add esi, 8
jmp 0x469de7
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
sub eax, ecx
mov dword [esp + 0x54], esi
lea esi, [esi + eax*8 - 8]
jmp 0x469e90
mov ecx, dword [esp + 0x30]
mov eax, ebx
sar eax, 0x10
sar ecx, 0x10
test eax, eax
jl 0x469eb4
test ecx, ecx
jl 0x469eb4
cmp eax, dword [esp + 0x1c]
jge 0x469eb4
cmp ecx, dword [esp + 0x20]
jl 0x469f77
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x4c], edx
jge 0x46a0bc
mov edx, dword [esp + 0x10]
test byte [edx + 2], 1
mov dword [esp + 0x38], esi
je 0x469eed
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x78]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
push edx
push esi
push eax
push ebx
call fcn.004759d0
jmp 0x469ef9
push esi
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.00475850
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
dec eax
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x54]
sub esi, 8
test eax, eax
je 0x469f20
mov edx, dword [esp + 0x38]
push 1
push edx
push eax
call fcn.00463690
add esp, 0xc
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
sub ebx, edx
sub ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x469e90
test ebp, ebp
jl 0x469f41
cmp ebp, esi
jl 0x469f56
mov eax, ebp
cdq
idiv esi
test ebp, ebp
jge 0x469f4b
dec eax
imul eax, esi
sub ebp, eax
cmp ebp, esi
jne 0x469f56
xor ebp, ebp
test edi, edi
mov ecx, dword [esp + 0x28]
jl 0x469f62
cmp edi, ecx
jl 0x469f77
mov eax, edi
cdq
idiv ecx
test edi, edi
jge 0x469f6c
dec eax
imul eax, ecx
sub edi, eax
cmp edi, ecx
jne 0x469f77
xor edi, edi
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
cmp edx, esi
jge 0x46a0bc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
sub esi, edx
test ecx, ecx
jle 0x469fc4
cmp ebp, eax
jl 0x469fa6
lea ecx, [ecx]
sub ebp, eax
cmp ebp, eax
jge 0x469fa0
cmp ecx, 0x20000
jg 0x469fb9
mov edx, esi
imul edx, ecx
add edx, ebp
cmp edx, eax
jl 0x469ff7
sub eax, ebp
lea eax, [eax + ecx - 1]
cdq
idiv ecx
jmp 0x469ff1
jge 0x469ff7
test ebp, ebp
jg 0x469fd6
lea ebx, [ebx]
add ebp, eax
test ebp, ebp
jle 0x469fd0
cmp ecx, 0xfffe0000
jl 0x469fe7
mov eax, esi
imul eax, ecx
add eax, ebp
jns 0x469ff7
mov eax, ebp
sub eax, ecx
dec eax
cdq
idiv ecx
neg eax
cmp esi, eax
jle 0x469ff7
mov esi, eax
test ebx, ebx
jle 0x46a02b
mov eax, dword [esp + 0x28]
cmp edi, eax
jl 0x46a009
sub edi, eax
cmp edi, eax
jge 0x46a003
cmp ebx, 0x20000
jg 0x46a01c
mov ecx, esi
imul ecx, ebx
add ecx, edi
cmp ecx, eax
jl 0x46a05c
mov edx, dword [esp + 0x28]
sub edx, edi
lea eax, [edx + ebx - 1]
cdq
idiv ebx
jmp 0x46a056
jge 0x46a05c
test edi, edi
jg 0x46a03b
mov eax, dword [esp + 0x28]
add edi, eax
test edi, edi
jle 0x46a035
cmp ebx, 0xfffe0000
jl 0x46a04c
mov eax, esi
imul eax, ebx
add eax, edi
jns 0x46a05c
mov eax, edi
sub eax, ebx
dec eax
cdq
idiv ebx
neg eax
cmp esi, eax
jle 0x46a05c
mov esi, eax
test esi, esi
jle 0x46a0bc
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
push ebx
push esi
lea ecx, [esp + 0x44]
push ecx
lea edx, [eax + 0x60]
push edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], edi
call dword [eax + 0x58]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x54]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
add esp, 0x10
test eax, eax
je 0x46a09f
push esi
push ebx
push eax
call fcn.00463690
add esp, 0xc
mov edx, dword [esp + 0x4c]
add edx, esi
lea ecx, [ebx + esi*8]
mov esi, dword [esp + 0x50]
cmp edx, esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], ecx
jl 0x469f87
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret