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

Disassembly:
push edi
push esi
push ebp
push ebx
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
sub esp, 0x174
mov eax, dword [edi]
xor ecx, ecx
test eax, eax
mov edx, 0
mov dword [esp + 0x14c], edx
jle 0x691a04
mov esi, dword [esi + 0x74]
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], esi
mov esi, edx
mov edx, ecx
shl edx, 4
lea ebp, [edx + ecx*8]
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esp + 0x190]
mov eax, dword [eax + 0x37e0]
test eax, eax
je 0x6919b8
lea edx, [ecx + ecx]
add edx, edx
mov eax, dword [edi + 0x34]
inc ecx
mov ebx, dword [ebp + eax + 4]
imul ebx, dword [ebp + eax + 8]
add esi, ebx
mov dword [esp + 0x16c], edi
lea edi, [esp + 0xe8]
mov dword [edx + edi], ebx
mov ebx, dword [ebp + eax + 0x14]
lea edi, [esp + 0xd8]
mov ebx, dword [ebx + 8]
mov dword [edx + edi], ebx
mov ebx, dword [ebp + eax + 0x10]
lea edi, [esp + 0xb8]
mov dword [edx + edi], ebx
mov eax, dword [ebp + eax + 0xc]
lea ebx, [esp + 0xc8]
add ebp, 0x18
mov dword [edx + ebx], eax
mov eax, dword [esp + 0x118]
cmp ecx, eax
mov edi, dword [esp + 0x16c]
jl 0x690704
mov dword [esp + 0x14c], esi
mov esi, dword [esp + 0x190]
cmp eax, 1
je 0x691911
mov ecx, dword [esi + 0x37bc]
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x150], ecx
add ecx, ecx
mov edx, dword [esi + 0x37b8]
add ecx, ecx
mov dword [esp + 0x154], edx
add ecx, ecx
add edx, edx
mov ebx, dword [esi + 0x78]
imul eax, ecx
mov dword [esp + 0x120], ebx
add edx, edx
mov dword [esp + 0x160], eax
add edx, edx
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x168], edx
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x154]
cmp eax, 1
je 0x6918f3
mov dl, 1
xor ebp, ebp
mov eax, dword [esi + 0x37c0]
mov byte [esp + 0x15c], dl
test eax, eax
jle 0x690869
mov edi, eax
mov edx, ebp
shl edx, 4
mov bh, byte [esp + 0x15c]
mov dword [esp + 0x144], ecx
mov eax, edx
lea esi, [esi]
mov dl, bh
test dl, dl
je 0x6918d9
mov ecx, dword [esi + 0x37cc]
mov edx, dword [eax + ecx + 4]
cmp edx, dword [eax + ecx + 8]
je 0x690840
xor bh, bh
cmp edx, 1
je 0x69084c
cmp edx, 2
je 0x69084c
xor bh, bh
inc ebp
add eax, 0x10
cmp ebp, edi
jl 0x690824
mov ecx, dword [esp + 0x144]
mov byte [esp + 0x15c], bh
mov edi, dword [esp + 0x18c]
mov eax, dword [esp + 0x168]
mov edx, dword [esp + 0x194]
mov ebx, edx
cdq
idiv ebx
mov dword [esp + 0x164], eax
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x164]
mov ebx, edx
cdq
idiv ebx
mov ebp, eax
mov eax, dword [esi + 0xc]
mov edx, ebx
lea eax, [eax + edx - 1]
mov ebx, edx
cdq
idiv ebx
mov dword [esp + 0x158], eax
mov eax, ecx
mov edx, dword [esp + 0x194]
mov ebx, edx
cdq
idiv ebx
mov ecx, eax
mov eax, dword [esi + 8]
cdq
idiv ecx
mov dword [esp + 0x144], eax
mov eax, dword [esi + 0x10]
lea eax, [eax + ecx - 1]
cdq
idiv ecx
mov dword [esp + 0x168], eax
mov eax, dword [esi + 0x4de8]
cmp eax, 1
je 0x6918b8
xor edx, edx
mov dword [esp + 0x154], edx
cmp eax, 1
je 0x691897
xor eax, eax
mov dword [esp + 0x150], eax
test ebp, ebp
je 0x690909
mov eax, edx
sub ebp, eax
mov eax, dword [esp + 0x144]
test eax, eax
je 0x690924
mov edx, dword [esp + 0x150]
sub eax, edx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0x120]
cmp eax, edx
jge 0x69094d
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
add eax, edx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x168]
mov edx, dword [esp + 0x11c]
cmp eax, edx
jge 0x69096f
mov edx, dword [esp + 0x150]
add eax, edx
mov dword [esp + 0x168], eax
mov eax, dword [edi + 0x20]
mov edx, dword [esp + 0x144]
mov dword [esp + 0x128], eax
cmp eax, edx
jg 0x69098d
mov eax, edx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x114]
cmp eax, 1
je 0x691724
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x690b94
mov eax, dword [esp + 0x128]
mov edx, dword [esi + 0x4830]
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + eax*8]
cmp dword [ecx + edx], 0xffffffff
jne 0x6913e0
mov dword [esp + 0x114], eax
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + eax*8]
cmp dword [ecx + edx], 0xffffffff
jne 0x6909f7
mov ebx, eax
mov ecx, ebx
shl ecx, 5
lea eax, [ecx + ebx*8]
dec ebx
add eax, 0xffffffd8
cmp dword [eax + edx], 0xffffffff
je 0x6909e6
mov dword [esp + 0x114], ebx
mov eax, dword [esp + 0x114]
mov edx, dword [esp + 0x188]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0xc], esi
mov dword [esp + 4], edx
call fcn.0068cdd4
test eax, eax
jne 0x690b89
mov eax, dword [esi + 0x4834]
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x118], eax
cmp edx, ecx
jge 0x690b94
mov esi, dword [esp + 0x188]
mov dword [esp + 0x148], ebp
xor ebp, ebp
mov eax, dword [esp + 0x120]
test eax, eax
jle 0x690b39
xor ebx, ebx
mov eax, dword [edi]
test eax, eax
jle 0x690af0
mov dword [esp + 0x124], ebp
xor ebp, ebp
mov edx, dword [esp + ebx*4 + 0xe8]
test edx, edx
jle 0x690ae4
mov eax, dword [edi + ebx*4 + 0x24]
mov edx, dword [esp + ebx*4 + 0xc8]
mov word [esp + 0xfc], ax
mov ecx, dword [esp + ebx*4 + 0xb8]
mov dword [esp + 4], edx
lea edx, [esp + 0xfc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 0x10], ecx
call dword [0x60053c80]
test eax, eax
movsx eax, word [esp + 0xfc]
mov dword [edi + ebx*4 + 0x24], eax
jl 0x691a93
inc ebp
cmp ebp, dword [esp + ebx*4 + 0xe8]
jl 0x690a87
mov eax, dword [edi]
inc ebx
cmp ebx, eax
jl 0x690a76
mov ebp, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x114]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.0068cfc4
test eax, eax
jne 0x691a83
inc ebp
mov eax, dword [esp + 0x120]
cmp ebp, eax
jl 0x690a63
mov eax, dword [esp + 0x114]
mov edx, dword [esp + 0x190]
inc eax
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 0x114], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.0068cef4
mov eax, dword [esp + 0x114]
mov edx, dword [esp + 0x128]
cmp eax, edx
jl 0x690a52
mov ebp, dword [esp + 0x148]
mov esi, dword [esp + 0x190]
jmp 0x690b94
add esp, 0x174
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x168]
cmp eax, edx
jge 0x69130a
mov dword [esp + 0x148], ebp
mov eax, dword [esp + 0x190]
mov ebp, dword [edi + 0x1c]
mov eax, dword [eax + 0x4834]
mov edx, dword [esp + 0x148]
mov dword [esp + 0x140], eax
cmp ebp, edx
jge 0x690cb9
mov esi, dword [esp + 0x188]
xor ebx, ebx
mov eax, dword [edi]
test eax, eax
jle 0x690c6d
mov dword [esp + 0x12c], ebp
xor ebp, ebp
mov edx, dword [esp + ebx*4 + 0xe8]
test edx, edx
jle 0x690c61
mov eax, dword [edi + ebx*4 + 0x24]
mov esi, esi
mov edx, dword [esp + ebx*4 + 0xc8]
mov word [esp + 0x100], ax
mov ecx, dword [esp + ebx*4 + 0xb8]
mov dword [esp + 4], edx
lea edx, [esp + 0x100]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 0x10], ecx
call dword [0x60053c80]
test eax, eax
movsx eax, word [esp + 0x100]
mov dword [edi + ebx*4 + 0x24], eax
jl 0x691b0d
inc ebp
cmp ebp, dword [esp + ebx*4 + 0xe8]
jl 0x690c04
mov eax, dword [edi]
inc ebx
cmp ebx, eax
jl 0x690bf1
mov ebp, dword [esp + 0x12c]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x128]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.0068cfc4
test eax, eax
jne 0x691afd
inc ebp
mov eax, dword [esp + 0x148]
cmp ebp, eax
jl 0x690bde
mov ebp, dword [edi + 0x1c]
mov eax, dword [esp + 0x190]
mov eax, dword [eax + 0x4ddc]
test eax, eax
je 0x691694
mov eax, dword [esp + 0x148]
cmp ebp, eax
jg 0x690cdb
mov ebp, eax
mov eax, dword [esp + 0x158]
cmp ebp, eax
jge 0x691144
mov esi, dword [esp + 0x190]
mov dword [esp + 0x12c], ebp
mov eax, dword [esi + 0x4834]
xor ebp, ebp
mov ecx, dword [edi]
mov dword [esp + 0x134], eax
test ecx, ecx
jle 0x690fee
mov edx, dword [esp + 0x190]
mov eax, dword [edx + 0x4ddc]
test eax, eax
je 0x690f04
mov eax, dword [eax]
test eax, eax
jne 0x690f04
mov edx, dword [edi + 0x34]
xor esi, esi
mov ebx, ebp
shl ebx, 4
lea ebx, [ebx + ebp*8]
mov dword [esp + 0x118], ebx
mov eax, dword [ebx + edx + 8]
test eax, eax
jle 0x690fde
mov dword [esp + 0x130], ebp
mov ecx, dword [ebx + edx + 4]
xor ebp, ebp
test ecx, ecx
jle 0x690ee1
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x13c], ebp
add ebx, ebx
shl ebp, 4
mov dword [esp + 0x114], esi
mov dword [esp + 0x138], ebp
mov eax, dword [esp + 0x130]
mov edx, dword [edi + ebx*2 + 0x24]
mov ecx, dword [esp + eax*4 + 0xc8]
mov eax, dword [esp + eax*4 + 0xb8]
mov dword [esp + 4], ecx
mov word [esp + 0x104], dx
mov edx, dword [esp + 0x188]
mov dword [esp + 8], eax
lea eax, [esp + 0x104]
mov ecx, dword [esp + 0x134]
mov dword [esp], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call dword [0x60053c84]
movsx edx, word [esp + 0x104]
test eax, eax
mov dword [edi + ebx*2 + 0x24], edx
jl 0x691a33
mov ebp, dword [esp + 0x128]
mov eax, dword [esp + 0x118]
mov edx, dword [edi + 0x34]
mov ecx, dword [esp + 0x114]
imul ebp, dword [eax + edx + 8]
mov dword [esp + 0x140], ebx
add ebp, ecx
mov ecx, dword [esp + 0x120]
mov esi, ecx
shl esi, 7
shl ecx, 4
mov dword [esp + 0x124], ecx
mov eax, dword [eax + edx + 4]
mov edx, dword [esp + 0x12c]
imul esi, eax
shl edx, 4
imul ebp, esi
imul edx, eax
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x138]
mov eax, dword [eax + 0x4ddc]
add edx, dword [eax + ebx*2 + 4]
mov esi, 0xfffffff8
mov ebx, dword [esp + 0x134]
add ebp, edx
add ebp, ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x10
call dword [0x60053d5c]
mov eax, dword [esp + 0x118]
mov edx, dword [edi + 0x34]
add ebx, 0x10
mov ecx, dword [eax + edx + 4]
mov eax, dword [esp + 0x124]
imul eax, ecx
add ebp, eax
inc esi
jne 0x690e64
mov eax, dword [esp + 0x138]
mov ebp, dword [esp + 0x13c]
add eax, 0x10
inc ebp
mov dword [esp + 0x138], eax
cmp ebp, ecx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x13c], ebp
mov ebx, dword [esp + 0x140]
jl 0x690d86
mov ebx, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov eax, dword [ebx + edx + 8]
inc esi
cmp esi, eax
jl 0x690d5b
mov ebp, dword [esp + 0x130]
mov ecx, dword [edi]
jmp 0x690fde
xor eax, eax
lea edx, [ebp + ebp]
mov ebx, dword [esp + ebp*4 + 0xe8]
mov dword [esp + 0x13c], eax
test ebx, ebx
mov dword [esp + 0x140], edx
jle 0x690fde
mov esi, dword [esp + 0x188]
mov ebx, dword [esp + 0x134]
mov eax, dword [esp + 0x140]
mov edx, dword [esp + ebp*4 + 0xc8]
mov dword [esp], esi
mov dword [esp + 4], edx
mov eax, dword [edi + eax*2 + 0x24]
mov edx, dword [esp + ebp*4 + 0xb8]
mov word [esp + 0x108], ax
lea eax, [esp + 0x108]
mov dword [esp + 8], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
call dword [0x60053c84]
movsx edx, word [esp + 0x108]
mov dword [esp], ebx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x138], eax
mov eax, dword [esp + ebp*4 + 0xd8]
mov dword [edi + ecx*2 + 0x24], edx
mov dword [esp + 4], eax
call dword [0x60053c68]
mov eax, dword [esp + 0x138]
test eax, eax
jl 0x691a53
mov eax, dword [esp + 0x13c]
add ebx, 0x80
inc eax
cmp eax, dword [esp + ebp*4 + 0xe8]
mov dword [esp + 0x13c], eax
jl 0x690f35
mov dword [esp + 0x134], ebx
mov ecx, dword [edi]
inc ebp
cmp ebp, ecx
jl 0x690d11
mov esi, dword [esp + 0x190]
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 4], edi
mov dword [esp + 0x10], eax
call fcn.0068cfc4
test eax, eax
jne 0x691a43
mov eax, dword [esi + 0x4ddc]
test eax, eax
je 0x691614
mov eax, dword [eax]
test eax, eax
jne 0x691614
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x691124
mov eax, dword [esi + 0x74]
cmp eax, 1
je 0x691114
mov eax, dword [esp + 0x154]
test eax, eax
je 0x691094
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x148]
cmp eax, edx
jne 0x691094
mov ecx, eax
inc ecx
jmp 0x69112c
mov eax, dword [esp + 0x150]
test eax, eax
je 0x6910c4
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x144]
cmp eax, edx
jne 0x6910c4
mov ecx, dword [esp + 0x12c]
inc ecx
jmp 0x69112c
mov ecx, dword [esp + 0x12c]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x158]
lea eax, [ebx + ebp - 1]
add ebx, ebp
mov ebp, ecx
inc ecx
mov edx, eax
mov eax, ecx
mov dword [esp + 0x16c], edx
cdq
idiv ebx
mov dword [edi + 0x1c], edx
mov ebx, dword [esp + 0x16c]
cmp ebp, ebx
jne 0x691aa3
xor eax, eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], eax
jmp 0x69112c
mov ecx, dword [esp + 0x12c]
inc ecx
jmp 0x69112c
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x158]
cmp ecx, eax
jl 0x690cf8
mov ebp, ecx
mov eax, dword [esp + 0x154]
test eax, eax
jne 0x691574
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x11c]
inc eax
cmp edx, eax
mov dword [esp + 0x140], eax
jle 0x6912df
mov eax, dword [esp + 0x190]
mov eax, dword [eax + 0x74]
cmp eax, 1
je 0x69144a
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x190]
mov edx, dword [edx + 0x4830]
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + eax*8]
mov ecx, dword [ecx + edx + 0x28]
cmp ecx, 0xffffffff
jne 0x69140e
mov eax, dword [esp + 0x190]
mov ebp, dword [esp + 0x158]
mov eax, dword [eax + 0x4834]
mov edx, dword [esp + 0x120]
mov dword [esp + 0x124], eax
cmp ebp, edx
jge 0x6912b6
mov esi, dword [esp + 0x188]
xor ebx, ebx
mov eax, dword [edi]
test eax, eax
jle 0x69126d
mov dword [esp + 0x118], ebp
xor ebp, ebp
mov edx, dword [esp + ebx*4 + 0xe8]
test edx, edx
jle 0x691261
mov eax, dword [edi + ebx*4 + 0x24]
mov esi, esi
mov edx, dword [esp + ebx*4 + 0xc8]
mov word [esp + 0x110], ax
mov ecx, dword [esp + ebx*4 + 0xb8]
mov dword [esp + 4], edx
lea edx, [esp + 0x110]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 0x10], ecx
call dword [0x60053c80]
test eax, eax
movsx eax, word [esp + 0x110]
mov dword [edi + ebx*4 + 0x24], eax
jl 0x691a23
inc ebp
cmp ebp, dword [esp + ebx*4 + 0xe8]
jl 0x691204
mov eax, dword [edi]
inc ebx
cmp ebx, eax
jl 0x6911f1
mov ebp, dword [esp + 0x118]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x128]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.0068cfc4
test eax, eax
jne 0x691add
inc ebp
mov eax, dword [esp + 0x120]
cmp ebp, eax
jl 0x6911de
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x188]
mov ecx, dword [esp + 0x190]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
call fcn.0068cef4
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x168]
mov dword [esp + 0x128], eax
cmp eax, edx
jl 0x690bb1
mov ebp, dword [esp + 0x148]
mov esi, dword [esp + 0x190]
mov eax, dword [esp + 0x150]
test eax, eax
je 0x6913b0
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
add eax, edx
mov dword [esp + 0x168], eax
cmp ebp, eax
jge 0x6913b0
mov bh, byte [esp + 0x15c]
nop
lea esi, [esi]
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x4834]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x194]
mov dword [esp], esi
mov dword [esp + 0x20], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x24], eax
mov byte [esp + 0x28], bh
call fcn.0068ba84
inc ebp
mov eax, dword [esp + 0x168]
cmp ebp, eax
jl 0x691344
call dword [0x60053c64]
mov eax, dword [esi + 0x37d8]
cmp eax, dword [esi + 0x37c0]
jge 0x6913cc
mov esi, dword [esi + 0x74]
cmp esi, 1
je 0x6913d3
mov eax, 2
jmp 0x6913d5
xor eax, eax
add esp, 0x174
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x188]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0xc], esi
mov dword [esp + 4], edx
call fcn.0068cdd4
test eax, eax
je 0x690b94
add esp, 0x174
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x188]
mov ecx, dword [esp + 0x190]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
call fcn.0068cdd4
test eax, eax
je 0x6912df
add esp, 0x174
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x691184
mov eax, dword [esp + 0x190]
mov ebp, dword [esp + 0x158]
mov eax, dword [eax + 0x4834]
mov edx, dword [esp + 0x120]
mov dword [esp + 0x124], eax
cmp ebp, edx
jge 0x6912df
mov esi, dword [esp + 0x188]
xor ebx, ebx
mov eax, dword [edi]
test eax, eax
jle 0x69151d
mov dword [esp + 0x118], ebp
xor ebp, ebp
mov edx, dword [esp + ebx*4 + 0xe8]
test edx, edx
jle 0x691511
mov eax, dword [edi + ebx*4 + 0x24]
lea esi, [esi]
mov edx, dword [esp + ebx*4 + 0xc8]
mov word [esp + 0x10c], ax
mov ecx, dword [esp + ebx*4 + 0xb8]
mov dword [esp + 4], edx
lea edx, [esp + 0x10c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 0x10], ecx
call dword [0x60053c80]
test eax, eax
movsx eax, word [esp + 0x10c]
mov dword [edi + ebx*4 + 0x24], eax
jl 0x691aed
inc ebp
cmp ebp, dword [esp + ebx*4 + 0xe8]
jl 0x6914b4
mov eax, dword [edi]
inc ebx
cmp ebx, eax
jl 0x6914a0
mov ebp, dword [esp + 0x118]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x128]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.0068cfc4
test eax, eax
jne 0x691a13
inc ebp
mov eax, dword [esp + 0x120]
cmp ebp, eax
jl 0x69148d
jmp 0x6912df
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x188]
mov ecx, dword [eax + 0x4834]
mov dword [esp], eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x14c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x194]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edx
mov dl, byte [esp + 0x15c]
mov dword [esp + 8], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], ebp
mov byte [esp + 0x28], dl
call fcn.0068ba84
mov eax, dword [esp + 0x190]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x691153
mov eax, dword [esp + 0x190]
mov eax, dword [eax + 0x74]
cmp eax, 1
je 0x691153
xor eax, eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], eax
jmp 0x691153
mov eax, dword [esp + 0x188]
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0x4834]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x194]
mov dword [esp + 0x1c], ecx
mov cl, byte [esp + 0x15c]
mov dword [esp + 0x20], eax
mov dword [esp], esi
mov dword [esp + 0x24], edx
mov dword [esp + 8], edi
mov byte [esp + 0x28], cl
call fcn.0068ba84
jmp 0x69104d
mov eax, dword [esp + 0x148]
mov ecx, ebp
sub ecx, eax
test ecx, ecx
jle 0x691714
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x194]
mov ebx, dword [esp + 0x128]
mov esi, dword [esp + 0x144]
sub ebx, esi
mov esi, dword [esp + 0x190]
mov ebp, dword [esi + 0x30]
mov dword [esp + 0x16c], edx
cdq
mov dword [esp + 0x170], edi
mov edi, dword [esp + 0x16c]
idiv edi
mov edx, dword [esp + 0x164]
imul eax, ebx
imul ebp, edx
add eax, dword [esi + 0x20]
mov edx, dword [esp + 0x188]
imul ebp, ecx
add eax, ebp
mov dword [edx + 0x2c], eax
mov edi, dword [esp + 0x170]
mov ebp, dword [edi + 0x1c]
jmp 0x690cce
xor ecx, ecx
jmp 0x6916a3
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x69099d
mov eax, dword [esi + 0x4834]
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x124], eax
test edx, edx
jne 0x690b94
xor eax, eax
mov edx, dword [esp + 0x128]
mov dword [esp + 0x118], eax
test edx, edx
jle 0x690b94
mov esi, dword [esp + 0x188]
mov dword [esp + 0x148], ebp
xor ebp, ebp
mov eax, dword [esp + 0x120]
test eax, eax
jle 0x691866
xor ebx, ebx
mov eax, dword [edi]
test eax, eax
jle 0x69181d
mov dword [esp + 0x114], ebp
xor ebp, ebp
mov edx, dword [esp + ebx*4 + 0xe8]
test edx, edx
jle 0x691811
mov eax, dword [edi + ebx*4 + 0x24]
lea esi, [esi]
lea edi, [edi]
mov edx, dword [esp + ebx*4 + 0xc8]
mov word [esp + 0xf8], ax
mov ecx, dword [esp + ebx*4 + 0xb8]
mov dword [esp + 4], edx
lea edx, [esp + 0xf8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 0x10], ecx
call dword [0x60053c80]
test eax, eax
movsx eax, word [esp + 0xf8]
mov dword [edi + ebx*4 + 0x24], eax
jl 0x691a63
inc ebp
cmp ebp, dword [esp + ebx*4 + 0xe8]
jl 0x6917b4
mov eax, dword [edi]
inc ebx
cmp ebx, eax
jl 0x691798
mov ebp, dword [esp + 0x114]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.0068cfc4
test eax, eax
jne 0x691a73
inc ebp
mov eax, dword [esp + 0x120]
cmp ebp, eax
jl 0x691785
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x128]
inc eax
cmp eax, edx
mov dword [esp + 0x118], eax
jl 0x691774
mov ebp, dword [esp + 0x148]
mov esi, dword [esp + 0x190]
jmp 0x690b94
mov eax, dword [esp + 0x150]
cmp eax, 2
jne 0x6908f8
mov eax, 1
mov dword [esp + 0x150], eax
jmp 0x690901
mov edx, dword [esp + 0x154]
cmp edx, 2
jne 0x6908e6
mov edx, 1
mov dword [esp + 0x154], edx
jmp 0x6908ef
mov ecx, dword [esp + 0x144]
mov byte [esp + 0x15c], bh
mov edi, dword [esp + 0x18c]
jmp 0x690869
mov eax, dword [esp + 0x150]
cmp eax, 1
jne 0x6907f5
xor al, al
mov byte [esp + 0x15c], al
jmp 0x690869
mov eax, dword [esi + 0x37b8]
mov ecx, dword [edi + 0x34]
mov dword [esp + 0x154], eax
add eax, eax
mov ebx, dword [ecx + 4]
add eax, eax
add eax, eax
cdq
idiv ebx
mov dword [esp + 0x168], eax
mov eax, dword [esi + 0x37bc]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x150], eax
add eax, eax
add eax, eax
add eax, eax
cdq
idiv ecx
mov ecx, eax
mov eax, dword [esi + 0x4c]
mov edx, dword [esp + 0x168]
mov ebx, dword [esi + 0x50]
lea eax, [eax + edx - 1]
mov ebp, dword [esi + 0x3c]
imul ebp, ecx
mov dword [esp + 0x160], ebp
mov ebp, edx
cdq
idiv ebp
mov dword [esp + 0x120], eax
mov eax, ebx
mov dword [esp + 0x144], ecx
cdq
xor eax, edx
sub eax, edx
mov ecx, dword [esp + 0x144]
mov edx, 1
lea eax, [eax + ecx - 1]
mov dword [esp + 0x14c], edx
cdq
mov dword [esp + 0xe8], 1
idiv ecx
mov dword [esp + 0x11c], eax
jmp 0x6907e5
mov eax, dword [esp + 0x114]
cmp eax, 1
je 0x6919f4
mov dword [edi + ecx*4 + 0x24], 0
mov eax, dword [edi]
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x118], eax
mov ebx, dword [ebx + 0x74]
lea edx, [ecx + ecx]
mov dword [esp + 0x114], ebx
add edx, edx
jmp 0x69071e
lea edx, [ecx + ecx]
add edx, edx
jmp 0x69071e
mov edx, dword [esi + 0x74]
mov dword [esp + 0x114], edx
jmp 0x69078e
add esp, 0x174
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x128]
mov ebx, dword [esp + 0x150]
mov dword [edi + 0x20], ecx
sub ecx, ebx
add esp, 0x174
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov eax, 1
mov ecx, ebp
sub ecx, edx
mov dword [esi + 4], ecx
mov dword [esi + 0xc], ecx
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x174
mov eax, 0xffffffeb
pop ebx
pop ebp
pop esi
pop edi
ret