Function at 0x68e5f4
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, 0x11c
mov eax, dword [edi]
xor ebx, ebx
test eax, eax
mov edx, 0
mov dword [esp + 0xe8], edx
jle 0x68e6a4
mov dword [esp + 0xbc], eax
mov edx, ebx
shl edx, 4
lea ecx, [edx + ebx*8]
lea esi, [esi]
mov eax, dword [esp + 0x138]
mov eax, dword [eax + 0x37e0]
test eax, eax
je 0x68fb60
lea edx, [ebx + ebx]
add edx, edx
mov eax, dword [edi + 0x34]
lea ebp, [esp + 0xa8]
inc ebx
mov esi, dword [ecx + eax + 4]
imul esi, dword [ecx + eax + 8]
mov dword [edx + ebp], esi
mov ebp, dword [ecx + eax + 0x14]
lea esi, [esp + 0x98]
mov ebp, dword [ebp + 8]
mov dword [edx + esi], ebp
mov ebp, dword [ecx + eax + 0x10]
lea esi, [esp + 0x78]
mov dword [edx + esi], ebp
mov eax, dword [ecx + eax + 0xc]
lea ebp, [esp + 0x88]
add ecx, 0x18
mov dword [edx + ebp], eax
mov eax, dword [esp + 0xbc]
cmp ebx, eax
jl 0x68e634
mov esi, dword [esp + 0x138]
cmp eax, 1
je 0x68fb50
mov eax, dword [esi + 0x37b8]
mov dword [esp + 0xe0], eax
cmp eax, 1
je 0x68fb26
mov eax, dword [esi + 0x37bc]
mov dword [esp + 0x104], eax
mov dl, 1
xor eax, eax
mov ebp, dword [esi + 0x37c0]
mov byte [esp + 0x100], dl
test ebp, ebp
jle 0x68e746
mov edx, eax
shl edx, 4
mov bh, byte [esp + 0x100]
mov edi, ebp
mov ebp, esi
mov esi, eax
mov eax, edx
lea esi, [esi]
lea edi, [edi]
mov dl, bh
test dl, dl
je 0x68fb0f
mov ecx, dword [ebp + 0x37cc]
mov edx, dword [eax + ecx + 4]
cmp edx, dword [eax + ecx + 8]
je 0x68e720
xor bh, bh
cmp edx, 1
je 0x68e72c
cmp edx, 2
je 0x68e72c
xor bh, bh
inc esi
add eax, 0x10
cmp esi, edi
jl 0x68e704
mov byte [esp + 0x100], bh
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x134]
mov eax, 8
mov edx, dword [esp + 0x13c]
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esi + 4]
imul ecx, eax
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esi + 0xc]
lea eax, [eax + ecx - 1]
cdq
idiv ecx
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
mov edx, dword [esi + 8]
imul ecx, eax
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 0x10]
lea eax, [eax + ecx - 1]
cdq
idiv ecx
mov dword [esp + 0xec], eax
mov eax, dword [esi + 0x4de8]
cmp eax, 1
je 0x68faee
xor edx, edx
mov dword [esp + 0x10c], edx
cmp eax, 1
je 0x68facd
xor eax, eax
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x68e7f7
sub eax, edx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x68e812
mov edx, dword [esp + 0x110]
sub eax, edx
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 0x78]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0xe4], eax
cmp edx, eax
jge 0x68e839
mov eax, edx
mov edx, dword [esp + 0x10c]
add eax, edx
mov dword [esp + 0xf4], eax
mov eax, dword [esi + 0x7c]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xd4], eax
cmp edx, eax
jge 0x68e860
mov eax, edx
mov edx, dword [esp + 0x110]
add eax, edx
mov dword [esp + 0xec], eax
xor ecx, ecx
test ebp, ebp
jle 0x68e8a7
mov edi, ebp
mov eax, dword [esi + 0x37cc]
mov edx, ecx
shl edx, 4
mov ebp, eax
mov ebx, dword [esp + 0xe8]
nop
lea esi, [esi]
inc ecx
mov eax, dword [edx + ebp + 4]
imul eax, dword [edx + ebp + 8]
add edx, 0x10
add ebx, eax
cmp ecx, edi
jl 0x68e884
mov ebp, edi
mov edi, dword [esp + 0x134]
mov dword [esp + 0xe8], ebx
mov eax, dword [edi + 8]
test eax, eax
je 0x68efc4
mov eax, dword [edi + 0xc]
test eax, eax
je 0x68efc4
mov eax, dword [esp + 0xe0]
mov ecx, dword [edi + 0x34]
add eax, eax
mov ebx, dword [ecx + 4]
add eax, eax
add eax, eax
cdq
idiv ebx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x104]
mov ecx, dword [ecx + 8]
add eax, eax
add eax, eax
add eax, eax
cdq
idiv ecx
mov dword [esp + 0xe4], eax
mov eax, dword [esi + 0x4c]
mov edx, dword [esp + 0xfc]
mov ecx, dword [esi + 0x50]
lea eax, [eax + edx - 1]
mov ebx, edx
cdq
idiv ebx
mov dword [esp + 0x104], eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0xe4]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0xd8], ecx
lea eax, [edx + eax - 1]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x114], edx
cdq
mov dword [esp + 0x118], edi
mov edi, dword [esp + 0x114]
idiv edi
cmp ecx, ebx
mov dword [esp + 0xbc], eax
mov edi, dword [esp + 0x118]
jl 0x68e969
jmp 0x68f7c2
mov ebp, dword [esi + 0x37c0]
cmp ebp, dword [esi + 0x37d8]
jl 0x68ec01
mov edx, dword [esp + 0x134]
xor ecx, ecx
mov edx, dword [edx + 0x34]
mov dword [esp + 0xfc], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0xd0], edx
test eax, eax
jle 0x68ec01
mov ebp, ecx
add ebp, ebp
add ebp, ebp
add ebp, ebp
mov ebx, ebp
lea edx, [eax + eax]
mov ecx, dword [esp + 0xd8]
add edx, edx
add edx, edx
imul edx, ecx
add edx, ebx
cmp edx, dword [esi + 0x50]
jge 0x68f5f4
mov ecx, dword [esp + 0x134]
mov edx, dword [esi + 0x78]
mov edi, dword [ecx + 0x1c]
cmp edi, edx
jge 0x68ebe1
mov ecx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xd0]
shl ecx, 7
mov eax, dword [ebp + 4]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0xe0]
imul edx, ebx
mov ebx, dword [esp + 0x138]
add edx, ebp
mov ebp, dword [esp + 0xd0]
xor ecx, ecx
imul edx, edi
mov esi, dword [ebp]
add edx, dword [ebx + 0x4de4]
test esi, esi
jle 0x68ea83
mov edi, ebx
mov ebx, ecx
shl ebx, 4
mov dword [esp + 0xd4], eax
mov ebp, dword [edi + 0x37cc]
mov edi, edx
mov edx, ebx
mov ebx, edi
lea esi, [esi]
mov eax, dword [edx + ebp + 4]
inc ecx
shl eax, 7
imul eax, dword [edx + ebp + 8]
add edx, 0x10
add ebx, eax
cmp ecx, esi
jl 0x68ea64
mov eax, dword [esp + 0xd4]
mov edx, ebx
mov esi, dword [esp + 0xfc]
xor ebx, ebx
mov ecx, eax
shl ecx, 7
imul esi, ecx
add esi, edx
test eax, eax
jle 0x68ebab
lea ebp, [ebx + ebx]
mov edi, dword [esp + 0x134]
add ebp, ebp
mov edx, dword [esp + 0xd0]
add ebp, ebp
nop
lea ecx, [eax + eax]
add ecx, ecx
add ecx, ecx
imul ecx, dword [esp + 0xe4]
add ecx, ebp
mov dword [esp + 0x114], edi
mov edi, dword [esp + 0x138]
cmp ecx, dword [edi + 0x4c]
mov edi, dword [esp + 0x114]
jge 0x68f5d4
mov eax, dword [edi + 0x10]
test eax, eax
je 0x68f58d
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [edi + 8]
mov dword [esp + 8], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 4], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
call fcn.0067dcb4
add esi, 0x80
mov eax, dword [esp + 0xe4]
mov edx, dword [edi + 0x34]
mov dword [esp + 4], edi
imul eax, dword [edx + 4]
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd8]
imul eax, dword [edx + 8]
mov edx, dword [esp + 0xfc]
add eax, edx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0068cfc4
test eax, eax
jne 0x68fb94
mov edx, dword [edi + 0x34]
inc ebx
mov eax, dword [edx + 4]
add ebp, 8
cmp ebx, eax
jl 0x68eab4
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd0], edx
mov ecx, dword [ecx + 0x78]
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xdc]
inc edx
cmp edx, ecx
mov dword [esp + 0xe4], edx
jl 0x68ea05
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
mov eax, dword [edx + 8]
mov esi, dword [esp + 0x138]
mov edx, dword [esp + 0xfc]
add ebx, 8
inc edx
cmp edx, eax
mov dword [esp + 0xfc], edx
jl 0x68e9a4
mov ebp, dword [esi + 0x37c0]
cmp ebp, dword [esi + 0x37d4]
jg 0x68ef94
cmp ebp, dword [esi + 0x37d8]
jg 0x68ef94
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xf0]
cmp eax, edx
jl 0x68ef94
mov edx, dword [esp + 0xec]
cmp eax, edx
jge 0x68ef94
mov eax, dword [esi + 0x4ddc]
test eax, eax
je 0x68ec52
mov eax, dword [eax]
test eax, eax
je 0x68edd4
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0xf8]
mov eax, dword [edx + 0x1c]
sub eax, ecx
test eax, eax
jle 0x68f734
mov edx, dword [esi + 0x37bc]
mov ecx, dword [esp + 0xd8]
imul edx, dword [esi + 0x3c]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esi + 0x30]
sub ecx, ebx
mov ebx, dword [esp + 0x108]
imul edx, ecx
imul edi, dword [esi + 0x37b8]
mov ecx, dword [esi + 0x20]
imul edi, eax
mov eax, dword [esp + 0x130]
add edx, edi
mov ebp, dword [esp + 0xf8]
imul ebx, edx
mov edx, dword [esp + 0xf4]
add ecx, ebx
mov dword [eax + 0x2c], ecx
cmp ebp, edx
jge 0x68f6a5
mov eax, dword [esp + 0xe8]
mov edx, eax
shl edx, 7
shl eax, 7
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], eax
mov eax, ebp
mov ebp, esi
mov esi, eax
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
imul eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x4de4]
add eax, esi
mov edi, dword [ebp + 0x4834]
imul edx, eax
mov eax, dword [esp + 0xe0]
add ecx, edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
call dword [0x60053d5c]
mov dword [esp + 0xd4], edi
xor eax, eax
mov edx, dword [ebp + 0x37c0]
mov dword [esp + 0xe4], eax
test edx, edx
jle 0x68f62f
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], edi
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xe4]
mov ecx, dword [ebp + 0x37cc]
shl eax, 4
xor esi, esi
mov dword [esp + 0xfc], eax
add eax, ecx
mov edi, dword [eax + 4]
imul edi, dword [eax + 8]
test edi, edi
jg 0x68eda3
jmp 0x68f60a
mov eax, dword [ebp + 0x37cc]
mov edx, dword [esp + 0xfc]
add eax, edx
mov eax, dword [eax + 0xc]
mov dword [esp], ebx
imul eax, eax, 0xb4
mov eax, dword [eax + ebp + 0x9c]
mov dword [esp + 4], eax
call dword [0x60053c68]
inc esi
add ebx, 0x80
cmp esi, edi
jl 0x68ed94
jmp 0x68f604
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0xc8], eax
cmp eax, edx
jge 0x68ef94
mov eax, dword [esp + 0xe8]
mov edx, dword [esi + 0x78]
shl eax, 7
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc0]
imul eax, edx
add eax, ebx
imul ecx, eax
xor edi, edi
add ecx, dword [esi + 0x4de4]
test ebp, ebp
mov dword [esp + 0xd4], ecx
jle 0x68f798
mov ecx, dword [esi + 0x37cc]
mov dword [esp + 0xc8], ebx
mov ebx, edi
shl ebx, 4
xor esi, esi
mov eax, dword [ebx + ecx + 8]
test eax, eax
jle 0x68f781
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xcc], eax
mov ebp, dword [ebx + ecx + 4]
xor ebx, ebx
test ebp, ebp
jle 0x68f764
mov eax, dword [esp + 0xc8]
lea ecx, [edi + edi]
shl eax, 4
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xc4], edi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
jmp 0x68eeb6
mov eax, dword [esp + 0xfc]
mov eax, dword [eax + ecx + 8]
mov dword [esp + 0xcc], eax
mov esi, dword [esp + 0xd8]
shl edx, 7
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x138]
imul esi, edx
imul edx, ebp
imul esi, ebp
mov dword [esp + 0xd0], ebx
shl ebx, 4
imul esi, eax
mov ecx, dword [ecx + 0x4ddc]
mov eax, dword [esp + 0xdc]
add esi, dword [ecx + eax*2 + 4]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
imul ebp, eax
imul edx, ecx
add esi, ebp
mov edi, 0xfffffff8
add esi, edx
add esi, ebx
mov ebx, dword [esp + 0xd4]
mov esi, esi
lea edi, [edi]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x10
call dword [0x60053d5c]
mov eax, dword [esp + 0x138]
mov ebp, dword [esp + 0xfc]
mov edx, dword [eax + 0x78]
add ebx, 0x10
mov ecx, edx
shl ecx, 4
mov dword [esp + 0x114], ecx
mov ecx, dword [eax + 0x37cc]
mov ebp, dword [ebp + ecx + 4]
mov eax, dword [esp + 0x114]
imul eax, ebp
add esi, eax
inc edi
jne 0x68ef24
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0xd0]
inc ebx
cmp ebx, ebp
jl 0x68eea4
jmp 0x68f744
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x68f8d1
mov eax, dword [esp + 0xd8]
mov ebp, dword [esi + 0x7c]
inc eax
cmp eax, ebp
mov dword [esp + 0xd8], eax
jl 0x68e963
jmp 0x68f7b4
mov eax, dword [edi + 0x20]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xc8], eax
cmp eax, edx
jge 0x68f569
mov ebp, esi
mov esi, edx
mov eax, dword [edi + 0x1c]
mov edx, dword [esp + 0xe4]
mov dword [esp + 0xdc], eax
cmp eax, edx
jge 0x68f54a
mov eax, dword [esp + 0xe8]
shl eax, 7
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xfc]
imul eax, edx
mov edx, dword [edi + 0x34]
add eax, ebx
mov esi, dword [edx]
imul ecx, eax
add ecx, dword [ebp + 0x4de4]
mov eax, ecx
xor ecx, ecx
mov dword [esp + 0xe0], eax
test esi, esi
jle 0x68f088
mov eax, dword [ebp + 0x37cc]
mov edx, ecx
shl edx, 4
mov ebp, eax
mov ebx, dword [esp + 0xe0]
lea esi, [esi]
inc ecx
mov eax, dword [edx + ebp + 4]
shl eax, 7
imul eax, dword [edx + ebp + 8]
add edx, 0x10
add ebx, eax
cmp ecx, esi
jl 0x68f064
mov dword [esp + 0xe0], ebx
mov ebp, dword [esp + 0x138]
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x68f144
xor esi, esi
mov eax, dword [edi]
test eax, eax
jle 0x68f1a6
mov ebx, dword [esp + 0xe0]
mov ebp, esi
xor esi, esi
mov edx, dword [esp + ebp*4 + 0xa8]
test edx, edx
jle 0x68f120
mov dword [esp], ebx
mov dword [esp + 4], 0x80
call dword [0x60053d58]
mov eax, dword [edi + ebp*4 + 0x24]
mov edx, dword [esp + 0x130]
mov word [esp + 0xb8], ax
mov eax, dword [edi + 0x14]
mov dword [esp], edx
mov edx, dword [esp + ebp*4 + 0x88]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xb8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
call fcn.0067d924
movsx eax, word [esp + 0xb8]
inc esi
add ebx, 0x80
cmp esi, dword [esp + ebp*4 + 0xa8]
mov dword [edi + ebp*4 + 0x24], eax
jl 0x68f0b5
mov eax, dword [edi]
inc ebp
cmp ebp, eax
jl 0x68f0a8
mov ebp, dword [esp + 0x138]
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f1a6
xor esi, esi
mov eax, dword [edi]
test eax, eax
jle 0x68f1a6
mov ebx, dword [esp + 0xe0]
xor ebp, ebp
mov edx, dword [esp + esi*4 + 0xa8]
test edx, edx
jle 0x68f190
lea esi, [esi]
mov eax, dword [esp + 0x130]
mov edx, dword [edi + 0x14]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0067da34
inc ebp
add ebx, 0x80
cmp ebp, dword [esp + esi*4 + 0xa8]
jl 0x68f164
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x68f153
mov ebp, dword [esp + 0x138]
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0xe4]
mov ecx, dword [ebp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc8]
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 0x68fb84
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xf8]
cmp eax, edx
jl 0x68f514
mov edx, dword [esp + 0xf4]
cmp eax, edx
jge 0x68f504
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xf0]
cmp eax, edx
jl 0x68f4f4
mov edx, dword [esp + 0xec]
cmp eax, edx
jge 0x68f4e4
mov eax, dword [ebp + 0x37c0]
cmp eax, dword [ebp + 0x37d4]
jg 0x68f4d4
cmp eax, dword [ebp + 0x37d8]
jg 0x68f4c4
mov ecx, dword [esp + 0xc8]
mov ebx, dword [ebp + 0x78]
mov esi, dword [esp + 0xdc]
mov dword [esp + 0xe4], ebx
imul ecx, ebx
mov ebx, dword [esp + 0xfc]
add ecx, esi
mov edx, dword [ebp + 0x4ddc]
imul ebx, ecx
add ebx, dword [ebp + 0x4de4]
test edx, edx
mov dword [esp + 0xd0], ebx
je 0x68f404
mov edx, dword [edx]
test edx, edx
jne 0x68f404
xor esi, esi
test eax, eax
jle 0x68f51e
mov ecx, dword [ebp + 0x37cc]
mov edi, esi
mov ebx, edi
shl ebx, 4
xor esi, esi
mov edx, dword [ebx + ecx + 8]
test edx, edx
jle 0x68f984
mov ebp, dword [ebx + ecx + 4]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0xe4]
xor ebx, ebx
test ebp, ebp
jle 0x68f960
mov eax, dword [esp + 0xdc]
lea ecx, [edi + edi]
shl eax, 4
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xe0], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
jmp 0x68f326
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + ecx + 8]
mov dword [esp + 0xd8], eax
mov esi, dword [esp + 0xc8]
shl edx, 7
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x138]
imul esi, edx
imul edx, ebp
imul esi, ebp
mov dword [esp + 0xd4], ebx
shl ebx, 4
imul esi, eax
mov ecx, dword [ecx + 0x4ddc]
mov eax, dword [esp + 0xcc]
add esi, dword [ecx + eax*2 + 4]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xbc]
imul ebp, eax
imul edx, ecx
add esi, ebp
mov edi, 0xfffffff8
add esi, edx
add esi, ebx
mov ebx, dword [esp + 0xd0]
mov esi, esi
lea edi, [edi]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x10
call dword [0x60053d5c]
mov eax, dword [esp + 0x138]
mov ebp, dword [esp + 0xc0]
mov edx, dword [eax + 0x78]
add ebx, 0x10
mov ecx, edx
shl ecx, 4
mov dword [esp + 0x114], ecx
mov ecx, dword [eax + 0x37cc]
mov ebp, dword [ebp + ecx + 4]
mov eax, dword [esp + 0x114]
imul eax, ebp
add esi, eax
inc edi
jne 0x68f394
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0xd4]
inc ebx
cmp ebx, ebp
jl 0x68f314
jmp 0x68f940
mov eax, dword [esp + 0xe8]
mov edx, dword [ebp + 0x4834]
shl eax, 7
mov ecx, ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp + 0xe4], edx
mov dword [esp], edx
call dword [0x60053d5c]
xor eax, eax
mov edx, dword [ebp + 0x37c0]
mov dword [esp + 0xc0], eax
test edx, edx
mov esi, dword [ebp + 0x4834]
jle 0x68f9c8
mov ebx, esi
mov eax, dword [esp + 0xc0]
mov ecx, dword [ebp + 0x37cc]
shl eax, 4
xor esi, esi
mov dword [esp + 0xbc], eax
add eax, ecx
mov edi, dword [eax + 4]
imul edi, dword [eax + 8]
test edi, edi
jg 0x68f493
jmp 0x68f9aa
mov eax, dword [ebp + 0x37cc]
mov edx, dword [esp + 0xbc]
add eax, edx
mov eax, dword [eax + 0xc]
mov dword [esp], ebx
imul eax, eax, 0xb4
mov eax, dword [eax + ebp + 0x9c]
mov dword [esp + 4], eax
call dword [0x60053c68]
inc esi
add ebx, 0x80
cmp esi, edi
jl 0x68f484
jmp 0x68f9a4
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f51e
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f51e
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f51e
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f51e
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f51e
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x68fa44
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe4]
inc eax
cmp eax, edx
mov dword [esp + 0xdc], eax
jl 0x68f00b
mov esi, dword [ebp + 0x7c]
mov eax, dword [esp + 0xc8]
inc eax
mov dword [esp + 0xc8], eax
cmp eax, esi
jl 0x68efe1
mov esi, ebp
mov ebp, dword [esi + 0x37c0]
cmp ebp, dword [esi + 0x37d4]
jg 0x68f580
cmp ebp, dword [esi + 0x37d8]
jg 0x68f580
mov eax, 2
jmp 0x68f582
xor eax, eax
add esp, 0x11c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [edi + 8]
mov dword [esp + 8], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 4], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
call fcn.0067dab4
add esi, 0x80
jmp 0x68eb24
mov ecx, dword [esp + 0x138]
mov dword [esp + 0xd0], edx
mov ecx, dword [ecx + 0x78]
mov dword [esp + 0xdc], ecx
jmp 0x68ebab
mov ebp, dword [esi + 0x37c0]
jmp 0x68ec01
mov edx, dword [ebp + 0x37c0]
mov eax, dword [esp + 0xe4]
inc eax
mov dword [esp + 0xe4], eax
cmp eax, edx
jl 0x68ed5b
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], edx
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x1c], edx
mov dl, byte [esp + 0x100]
mov dword [esp + 0x20], ecx
mov dword [esp], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edi
mov byte [esp + 0x28], dl
call fcn.0068ba84
inc esi
mov eax, dword [esp + 0xf4]
cmp esi, eax
jl 0x68eceb
mov eax, ebp
mov ebp, esi
mov esi, eax
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x68ef94
mov eax, dword [esp + 0xf4]
cmp ebp, eax
jne 0x68ef94
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], edx
mov edx, dword [esi + 0x4834]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x1c], ecx
mov cl, byte [esp + 0x100]
mov dword [esp + 0x20], eax
mov dword [esp], esi
mov dword [esp + 0x24], edx
mov dword [esp + 0xc], ebp
mov byte [esp + 0x28], cl
call fcn.0068ba84
jmp 0x68ef94
xor eax, eax
jmp 0x68ec6d
mov eax, dword [esp + 0xfc]
mov esi, dword [esp + 0xe4]
mov eax, dword [eax + ecx + 8]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xcc], eax
inc esi
mov eax, dword [esp + 0xcc]
cmp esi, eax
jl 0x68ee6b
mov eax, dword [esp + 0x138]
mov ebp, dword [eax + 0x37c0]
inc edi
cmp edi, ebp
jl 0x68ee46
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x138]
inc ebx
mov eax, dword [esp + 0xf4]
cmp ebx, eax
jl 0x68ee0c
jmp 0x68ef94
mov dword [esp + 0xd4], ebp
mov edi, dword [esp + 0x134]
mov eax, dword [esi + 0x4ddc]
test eax, eax
je 0x68f7d6
mov eax, dword [eax]
test eax, eax
je 0x68f89f
mov eax, dword [esp + 0x110]
test eax, eax
je 0x68f894
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
cmp eax, edx
jg 0x68f8aa
mov bh, byte [esp + 0x100]
mov ebp, dword [esp + 0xd4]
jmp 0x68f817
mov ebp, dword [esi + 0x7c]
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0x4834]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x13c]
mov dword [esp], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 8], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebp
mov byte [esp + 0x28], bh
call fcn.0068ba84
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
inc eax
cmp eax, edx
mov dword [esp + 0xf8], eax
jle 0x68f814
jmp 0x68f8aa
mov ebp, dword [esi + 0x37c0]
jmp 0x68f569
mov ebp, dword [esi + 0x37c0]
jmp 0x68f569
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x68f8bc
mov ebp, dword [esi + 0x37c0]
jmp 0x68f569
xor edx, edx
add esp, 0x11c
xor eax, eax
mov dword [edi + 0x20], edx
mov dword [edi + 0x1c], edx
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0x134]
inc eax
mov edx, dword [esp + 0x110]
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], 0
add edx, dword [esi + 0x7c]
cmp eax, edx
jne 0x68f90c
mov dword [edi + 0x20], 0
add esp, 0x11c
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esi + 0x78]
mov ecx, dword [esp + 0xd8]
dec edx
mov ebx, dword [esp + 0x110]
sub ecx, ebx
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x78]
mov dword [esi + 0x10], ecx
dec edx
mov dword [esi + 8], ecx
mov eax, 1
mov dword [esi + 4], edx
add esp, 0x11c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xbc]
mov eax, dword [eax + ecx + 8]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0xd8], eax
inc esi
mov eax, dword [esp + 0xd8]
cmp esi, eax
jl 0x68f2db
mov ebx, dword [esp + 0x138]
mov dword [esp + 0xe4], edx
mov eax, dword [ebx + 0x37c0]
inc edi
cmp edi, eax
jl 0x68f2af
mov edi, dword [esp + 0x134]
mov ebp, dword [esp + 0x138]
jmp 0x68f51e
mov edx, dword [ebp + 0x37c0]
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
cmp eax, edx
jl 0x68f44d
mov edi, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x1c], ecx
mov cl, byte [esp + 0x100]
mov dword [esp + 0x20], eax
mov dword [esp], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 8], edi
mov byte [esp + 0x28], cl
call fcn.0068ba84
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xe4], eax
jmp 0x68f51e
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe4]
inc eax
mov esi, ebp
mov ecx, edx
cdq
idiv ecx
test edx, edx
mov dword [edi + 0x1c], edx
je 0x68fa6d
mov eax, dword [esp + 0xc8]
mov dword [edi + 0x20], eax
jmp 0x68fa91
mov eax, dword [esp + 0xc8]
inc eax
mov dword [edi + 0x20], eax
cmp eax, dword [esi + 0x7c]
jne 0x68fa91
mov dword [edi + 0x20], 0
add esp, 0x11c
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x10c]
sub edx, ecx
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x110]
mov dword [esi + 0xc], edx
sub ecx, ebx
mov dword [esi + 4], edx
add esp, 0x11c
mov dword [esi + 0x10], ecx
mov dword [esi + 8], ecx
mov eax, 1
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x104]
cmp eax, 2
jne 0x68e7da
mov eax, 1
mov dword [esp + 0x110], eax
jmp 0x68e7e3
mov edx, dword [esp + 0xe0]
cmp edx, 2
jne 0x68e7c8
mov edx, 1
mov dword [esp + 0x10c], edx
jmp 0x68e7d1
mov byte [esp + 0x100], bh
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x134]
jmp 0x68e746
mov eax, dword [esi + 0x37bc]
mov dword [esp + 0x104], eax
cmp eax, 1
jne 0x68e6d0
xor al, al
mov ebp, dword [esi + 0x37c0]
mov byte [esp + 0x100], al
jmp 0x68e746
mov dword [esp + 0xa8], 1
jmp 0x68e6ad
mov dword [edi + ebx*4 + 0x24], 0
mov eax, dword [edi]
lea edx, [ebx + ebx]
mov dword [esp + 0xbc], eax
add edx, edx
jmp 0x68e64e
add esp, 0x11c
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x11c
mov eax, 0xffffffe7
pop ebx
pop ebp
pop esi
pop edi
ret