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

Disassembly:
mov ecx, dword [0xae4be8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x7f69df
sub esp, 0xf4
nop
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0x108]
jmp 0x7f5970
dec ebp
test ebp, ebp
jle 0x7f597c
mov esi, dword [ebx + ebp*4 - 4]
test esi, esi
je 0x7f596f
mov edx, dword [esp + 0x10c]
cmp edx, ebp
jb 0x7f69d7
nop
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x114]
jmp 0x7f599d
dec edi
test edi, edi
jle 0x7f59a9
mov eax, dword [esi + edi*4 - 4]
test eax, eax
je 0x7f599c
mov eax, esi
mov esi, dword [esp + 0x118]
cmp esi, edi
jb 0x7f69ce
test ebp, ebp
je 0x7f5bc6
cmp edi, 0x64
jl 0x7f5b82
mov ecx, ebp
sub ebp, edi
test ebp, ebp
jl 0x7f5b7b
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x11c]
cmp esi, ebx
jbe 0x7f69c5
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x9c], edi
mov dword [esp + 0x88], ebp
mov esi, dword [esp + 0x124]
mov eax, dword [esi + ebx*4]
shr edi, 1
mov dword [esp + 0xa8], edi
test eax, eax
je 0x7f5af8
mov edx, dword [eax + 8]
lea ecx, [edi + 1]
cmp edx, ecx
jl 0x7f5a34
jb 0x7f69c0
mov eax, dword [eax]
jmp 0x7f5ad1
test edi, edi
jne 0x7f5a82
lea eax, [0x85fa40]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0076c750
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0xa8]
mov edx, 1
mov ecx, 1
jmp 0x7f5ad1
mov dword [esp + 0x84], ecx
lea eax, [0x85fa40]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [edi + 5]
mov dword [esp + 0x48], edx
mov dword [esp + 8], edx
call fcn.0076c750
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + ebx*4]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov ecx, dword [0xae4cf0]
test ecx, ecx
je 0x7f5af4
mov ecx, edi
call fcn.00785690
mov dword [edi], eax
mov edx, dword [ebx]
mov dword [edi + 4], edx
mov edi, ecx
mov dword [ebx], eax
jmp 0x7f5b5a
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.007efb40
mov eax, dword [0xae4cf0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x7f5b25
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x124]
jmp 0x7f5b41
call fcn.00785690
mov dword [edi], ecx
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x124]
mov esi, dword [ebp + ebx*4]
mov dword [edi + 4], esi
mov dword [ebp + ebx*4], ecx
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x120]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x10c]
jmp 0x7f5c8b
add esp, 0xf4
ret
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
call fcn.007f5300
add esp, 0xf4
ret
nop
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x7f5be8
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
shl eax, 2
mov dword [esp + 4], eax
call fcn.00785d70
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x18], ebx
call fcn.007ee350
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x104]
mov edi, dword [esp + 0x11c]
mov eax, ecx
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x120]
mov esi, dword [esp + 0x124]
mov edi, ebp
mov ebp, dword [esp + 0xc4]
cmp ebp, edi
jle 0x7f609d
sub ebp, edi
cmp ecx, ebp
jb 0x7f69b9
mov dword [esp + 0xc4], ebp
sub edx, ebp
mov dword [esp + 0x50], edx
neg edx
shl ebp, 2
sar edx, 0x1f
and ebp, edx
mov ebx, dword [esp + 0x11c]
mov esi, dword [esi + ebx*4]
mov edx, dword [esi + 4]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0xc4]
sub ecx, ebx
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x104]
add ebp, ebx
mov dword [esp + 0xd8], ebp
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov esi, dword [esi + 8]
mov dword [esp + 0x78], esi
nop
test edx, edx
je 0x7f5d34
mov dword [esp], ebx
shl edx, 2
mov dword [esp + 4], edx
call fcn.00785d70
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0xa8]
mov esi, dword [esp + 0x9c]
lea ecx, [edi + esi]
mov ebx, dword [esp + 0x50]
cmp ebx, ecx
jb 0x7f69b2
lea eax, [edi - 1]
cmp eax, ecx
ja 0x7f69ad
mov dword [esp + 0x58], eax
sub ebx, edi
inc ebx
mov dword [esp + 0xc0], ebx
shl eax, 2
neg ebx
sar ebx, 0x1f
and ebx, eax
add ebx, ebp
mov ebp, dword [esp + 0x58]
cmp esi, ebp
jb 0x7f69a4
mov dword [esp + 0xbc], eax
mov dword [esp + 0xf0], ebx
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0x78]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
lea ebx, [esi + 1]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
sub esi, edi
mov ebx, dword [esp + 0x118]
sub ebx, edi
inc ebx
mov dword [esp + 0xb8], ebx
inc esi
mov dword [esp + 0xb4], esi
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esp + 0x110]
add ebx, eax
mov dword [esp + 0xec], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x11c]
inc esi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x120]
mov dword [esp + 0x28], esi
mov ebx, dword [esp + 0x124]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0x34], ebx
call fcn.007f5940
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x70]
jmp 0x7f6717
mov edx, dword [esp + 0x78]
cmp ecx, edx
ja 0x7f699f
mov dword [esp + 0x98], ecx
mov ebx, dword [esp + 0x120]
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x9c]
lea edi, [esi + esi*2]
cmp ebp, edi
jl 0x7f5e8d
jb 0x7f6996
mov ebx, dword [ebx]
mov dword [esp + 0x44], ebp
mov ebp, ebx
mov ebx, dword [esp + 0x120]
jmp 0x7f5f0d
cmp edi, 1
jne 0x7f5ebb
mov dword [esp + 0xb0], 0
mov edi, 1
lea ebp, [esp + 0xb0]
mov ebp, 1
mov dword [esp + 0x44], ebp
lea ebp, [esp + 0xb0]
jmp 0x7f5f0d
mov dword [esp + 0x80], edi
lea eax, [0x85fa40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esi + esi*2 + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 8], ecx
call fcn.0076c750
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x80]
mov ebp, ebx
mov ebx, dword [esp + 0x120]
nop
test edi, edi
je 0x7f5f49
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x3c], edi
mov dword [esp], ebp
shl edi, 2
mov dword [esp + 4], edi
call fcn.00785d70
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0xd0]
mov edi, dword [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x118]
mov dword [esp + 0x20], esi
call fcn.007ee460
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0xd8]
xor esi, esi
jmp 0x7f67b2
mov esi, ebx
jmp 0x7f68fe
mov edi, dword [esp + 0x50]
cmp ebx, edi
ja 0x7f6937
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
call fcn.007ed3b0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x7f691f
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x7f691a
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x20], ebx
call fcn.007f73b0
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x7f5bef
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x94]
cmp edx, ecx
ja 0x7f6913
mov ebx, dword [esp + 0x50]
sub ebx, edx
sub ecx, edx
mov ebp, ebx
neg ebx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0xd8]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call fcn.007f7420
jmp 0x7f5bef
mov ebp, dword [esp + 0x11c]
mov esi, dword [esi + ebp*4]
mov ebx, dword [esi + 4]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esi + 8]
mov dword [esp + 0x74], ebp
mov esi, dword [esi]
mov dword [esp + 0xe4], esi
nop
test ebx, ebx
je 0x7f60f6
mov dword [esp], esi
shl ebx, 2
mov dword [esp + 4], ebx
call fcn.00785d70
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xa8]
lea eax, [edi - 1]
cmp ecx, eax
jb 0x7f6711
mov dword [esp + 0x54], eax
sub edx, edi
sub ecx, edi
inc edx
mov dword [esp + 0x4c], edx
shl eax, 2
neg edx
sar edx, 0x1f
and edx, eax
mov edi, dword [esp + 0x104]
add edx, edi
inc ecx
mov dword [esp + 0x90], ecx
jmp 0x7f6133
dec ecx
mov edi, dword [esp + 0x104]
test ecx, ecx
jle 0x7f6146
mov edi, dword [edx + ecx*4 - 4]
test edi, edi
je 0x7f612b
mov edi, dword [esp + 0x104]
mov edi, dword [esp + 0x4c]
cmp ecx, edi
ja 0x7f670a
mov dword [esp + 0xd4], edx
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x54]
cmp edi, edx
jb 0x7f6701
mov dword [esp + 0xc4], eax
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0xa8]
sub ecx, edx
sub edi, edx
inc ecx
mov dword [esp + 0xc0], ecx
inc edi
mov dword [esp + 0xbc], edi
neg ecx
sar ecx, 0x1f
and ecx, eax
mov eax, dword [esp + 0x110]
add ecx, eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x11c]
inc edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x124]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x12c]
mov dword [esp + 0x34], edi
call fcn.007f5940
nop
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x6c]
jmp 0x7f622d
dec ecx
test ecx, ecx
jle 0x7f6239
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x7f622c
mov edx, dword [esp + 0x74]
cmp ecx, edx
ja 0x7f66fc
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x120]
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x9c]
lea edi, [esi + esi*2]
cmp ebp, edi
jl 0x7f626e
jb 0x7f66f3
mov ebx, dword [ebx]
jmp 0x7f62d1
cmp edi, 1
jne 0x7f6291
mov dword [esp + 0xac], 0
mov edi, 1
lea ebx, [esp + 0xac]
mov ebp, 1
jmp 0x7f62d1
mov dword [esp + 0x7c], edi
lea eax, [0x85fa40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + esi*2 + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
call fcn.0076c750
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
nop
test edi, edi
je 0x7f6315
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ebp
mov dword [esp], ebx
shl edi, 2
mov dword [esp + 4], edi
call fcn.00785d70
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x118]
mov dword [esp + 0x20], esi
call fcn.007ee460
mov eax, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc8]
xor esi, esi
jmp 0x7f63a3
mov edi, dword [esp + 0xa0]
lea esi, [edi + 1]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xc8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
cmp esi, 2
jge 0x7f6521
mov edi, ebp
jmp 0x7f66d0
mov edi, dword [esp + 0xc8]
mov edi, dword [esp + 0x10c]
cmp edi, ebp
jb 0x7f66ea
mov dword [esp + 0xa0], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
call fcn.007ed3b0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x7f637c
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.007f7420
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x54]
cmp edx, ecx
jb 0x7f66e5
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x20], ebp
call fcn.007f73b0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jle 0x7f64d1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0xa8]
sub edx, ebx
sub eax, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
mov ebx, dword [esp + 0xc4]
and edx, ebx
mov ebx, dword [esp + 0xdc]
add edx, ebx
mov dword [esp], edx
inc eax
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
call fcn.007f7420
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0
call fcn.007ee350
jmp 0x7f637c
mov esi, ebp
jmp 0x7f6526
dec ebp
test ebp, ebp
jle 0x7f6532
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x7f6525
mov edi, dword [esp + 0x10c]
cmp edi, ebp
jb 0x7f66bf
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
call fcn.007ed3b0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x7f66a7
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x5c]
cmp edx, ecx
jb 0x7f66a2
mov eax, dword [esp + 0x104]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x20], ebx
call fcn.007f73b0
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x7f6615
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x5c]
cmp ecx, edx
jb 0x7f669b
mov ebx, dword [esp + 0x10c]
sub ebx, edx
sub ecx, edx
mov ebp, ebx
neg ebx
shl edx, 2
sar ebx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x104]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call fcn.007f7420
mov eax, dword [esp + 0x1c]
test eax, eax
ja 0x7f6683
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x8c]
jmp 0x7f662a
dec ecx
test ecx, ecx
jle 0x7f6636
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x7f6629
mov edx, dword [esp + 0x74]
cmp ecx, edx
ja 0x7f667e
mov ebx, dword [esp + 0xf8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0
call fcn.007ee350
add esp, 0xf4
ret
call fcn.00785740
lea eax, [0x85ee00]
mov dword [esp], eax
lea eax, [0x8cdc74]
mov dword [esp + 4], eax
call fcn.00758600
mov eax, edx
call fcn.00785760
call fcn.00785740
lea eax, [0x85ee00]
mov dword [esp], eax
lea eax, [0x8cdc74]
mov dword [esp + 4], eax
call fcn.00758600
mov ecx, ebp
mov edx, edi
call fcn.00785740
dec ebp
mov edi, dword [esp + 0xc8]
test ebp, ebp
jle 0x7f63ba
mov edi, dword [ebx + ebp*4 - 4]
test edi, edi
je 0x7f66c8
jmp 0x7f63b3
call fcn.00785740
mov ecx, ebp
mov edx, edi
call fcn.00785740
mov ecx, edi
mov edx, ebp
call fcn.00785740
call fcn.00785740
mov eax, edx
mov ecx, edi
call fcn.00785760
mov edx, edi
call fcn.00785740
call fcn.00785760
dec ecx
test ecx, ecx
jle 0x7f5e48
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x7f6716
jmp 0x7f5e48
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xa8]
sub edx, ecx
inc edx
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0xec]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
call fcn.007ee350
mov eax, dword [esp + 0xa4]
lea esi, [eax + 1]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0xd8]
cmp esi, 2
jge 0x7f5fb7
mov dword [esp + 0xa4], esi
mov edi, ebx
jmp 0x7f6948
mov esi, dword [esp + 0xa4]
mov esi, dword [esp + 0x50]
cmp ebx, esi
ja 0x7f698d
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
call fcn.007ed3b0
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x7f695d
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
call fcn.007f7420
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
cmp edx, ecx
jb 0x7f6988
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x20], ebp
call fcn.007f73b0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jle 0x7f68e9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
sub edx, ebx
sub eax, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
mov ebp, dword [esp + 0xbc]
and edx, ebp
mov ebp, dword [esp + 0xe0]
add edx, ebp
mov dword [esp], edx
inc eax
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
call fcn.007f7420
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x94]
cmp edx, ecx
jae 0x7f672c
jmp 0x7f697f
dec ebx
test ebx, ebx
jle 0x7f5fbe
mov edi, dword [ebp + ebx*4 - 4]
test edi, edi
je 0x7f68fd
jmp 0x7f5fbe
mov eax, edx
call fcn.00785760
call fcn.00785740
lea eax, [0x85ee00]
mov dword [esp], eax
lea eax, [0x8cdc74]
mov dword [esp + 4], eax
call fcn.00758600
mov ecx, ebx
mov edx, edi
call fcn.00785740
dec ebx
mov esi, dword [esp + 0xa4]
test ebx, ebx
jle 0x7f67d0
mov esi, dword [ebp + ebx*4 - 4]
test esi, esi
je 0x7f6940
jmp 0x7f67c9
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0xd8]
jmp 0x7f5fb7
mov eax, ecx
mov ecx, edx
call fcn.00785760
call fcn.00785740
mov ecx, ebx
mov edx, esi
call fcn.00785740
mov ecx, edi
mov edx, ebp
call fcn.00785740
call fcn.00785740
mov eax, ebp
mov ecx, esi
call fcn.00785760
call fcn.00785760
mov edx, ebx
call fcn.00785740
mov eax, ebp
call fcn.00785760
call fcn.00785740
mov eax, ebx
mov ecx, esi
call fcn.00785700
mov ecx, edi
mov edx, esi
call fcn.00785740
mov ecx, ebp
call fcn.00785740
nop
call fcn.00784280
jmp fcn.007f5940