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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x614000
sub esp, 0xf4
mov ecx, dword [esp + 0x100]
cmp ecx, 2
jl 0x613f4a
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0xfc]
mov eax, edx
mov ebp, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov word [esp + 0x24], ax
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x2c], edx
xor edx, edx
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x104]
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov ebx, ebp
mov eax, edx
jmp 0x612ccb
lea ecx, [esi + 1]
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
movzx edx, word [esp + 0x22]
mov ebx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
movzx ecx, word [esp + 0x24]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
cmp esi, edx
jge 0x612c6e
cmp esi, ebp
jge 0x612c6e
cmp esi, edx
jae 0x613ff2
mov ecx, dword [esp + 0xf0]
mov ecx, dword [ecx + esi*4]
cmp esi, ebp
jae 0x613ff2
mov ebx, dword [ebx + esi*4]
cmp ecx, ebx
je 0x612c18
test esi, esi
jle 0x612d5b
mov ecx, dword [esp + 0x30]
cmp esi, ecx
ja 0x613feb
movzx edx, word [esp + 0x24]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
inc eax
mov word [esp + 0x24], dx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0xf0], ebx
mov edx, ebp
mov ebx, dword [esp + 0xec]
mov ecx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
mov esi, eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xec], ebx
cmp esi, ecx
jg 0x613386
mov dword [esp + 0x5c], esi
jge 0x613375
jae 0x613ff9
mov ebx, dword [ebp + esi*4]
movzx edx, byte [ebx]
cmp dl, 0x12
jne 0x61336e
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x61336e
mov edx, dword [edx]
movzx ebx, byte [edx]
cmp bl, 3
je 0x61334e
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x28], edx
xor edx, edx
mov word [esp + 0x22], dx
mov dword [esp + 0xe8], ebx
movzx ecx, word [esp + 0x24]
cmp dx, cx
jne 0x613345
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x98]
jmp 0x612c3d
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xe8]
movzx esi, word [esp + 0x22]
mov edx, dword [esp + 0x5c]
cmp edx, edi
jne 0x612d92
mov edi, dword [esp + 0xec]
mov edx, esi
mov esi, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x5c]
jmp 0x612c92
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xe4], ebx
mov word [esp + 0x26], si
lea ecx, [edi + 1]
cmp edx, ecx
jne 0x612ec2
mov ecx, dword [esp + 0x100]
cmp edi, ecx
jae 0x613fe4
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0xfc]
mov ebx, dword [ebx + edi*4]
mov edi, ebp
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jg 0x612e60
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0xc8]
lea edx, [esi + ecx*4]
mov dword [esp + 0xe0], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x612e48
mov dword [esi + ecx*4], ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xe4]
mov edi, esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
movzx esi, word [esp + 0x26]
jmp 0x612d7a
mov ecx, edi
mov edi, dword [esp + 0xe0]
mov edx, eax
mov eax, ebx
call fcn.0044c870
mov eax, edx
mov edi, ecx
jmp 0x612e1d
mov dword [esp + 0xdc], ebx
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xdc]
movzx esi, word [esp + 0x26]
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x104]
jmp 0x612dfb
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0xf8]
mov ebx, dword [ecx + 0x10]
lea ebp, [ecx + 0x10]
mov dword [esp + 0xd8], ebp
test ebx, ebx
je 0x61331a
mov esi, dword [0xadb480]
mov edx, dword [ebx + 0x10]
test esi, esi
jne 0x6132d8
mov dword [ecx + 0x10], edx
mov edx, edi
mov edi, ebx
mov esi, eax
xor eax, eax
call fcn.0044c961
mov dword [esp + 0xc4], ebx
mov byte [ebx], 3
movzx ecx, word [esp + 0x24]
mov word [ebx + 2], cx
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebx + 0x1c]
mov ebp, dword [esp + 0x2c]
cmp ebp, edi
ja 0x613291
cmp ebp, edi
ja 0x613fdd
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x7c], edi
mov dword [esp], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044d070
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x1c], edx
mov edx, dword [0xadb480]
test edx, edx
jne 0x613279
mov edx, dword [esp + 0xe8]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
jmp 0x612fd5
lea edi, [edx + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x100]
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc4]
mov edx, ebx
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x5c]
cmp edi, esi
jge 0x613025
cmp edi, ebp
jae 0x613fd6
mov dword [esp + 0x7c], edi
mov ecx, dword [edx + edi*4]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00614010
mov eax, dword [0xadb480]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xfc]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x613019
mov dword [ebx + edx*4], ecx
jmp 0x612fa1
mov eax, ecx
call fcn.0044c870
jmp 0x612fa1
test esi, esi
jl 0x613fcf
mov eax, dword [esp + 0x48]
cmp eax, esi
ja 0x613fcf
mov dword [esp], ebx
mov ecx, dword [esp + 0x104]
sub ecx, eax
mov dword [esp + 0x7c], ecx
mov edi, eax
shl eax, 2
neg ecx
sar ecx, 0x1f
and ecx, eax
lea eax, [edx + ecx]
mov dword [esp + 4], eax
sub esi, edi
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0x13
call fcn.006127c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x613259
mov dword [esp + 0xac], edi
mov edx, dword [0xadb480]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x613227
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044c961
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xbc], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
cmp ebp, 2
jl 0x6131dd
mov esi, 2
mov edi, ebp
mov ebp, dword [0xadb480]
test ebp, ebp
jne 0x6131b4
mov ebp, dword [esp + 0xc4]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0xadb480]
test edx, edx
jne 0x6131a3
mov dword [ecx + 4], ebx
mov edx, dword [esp + 0x38]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jg 0x613160
mov esi, dword [esp + 0xec]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0xadb480]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x61314f
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x104]
mov ecx, edi
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
jmp 0x612e21
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044c870
xor eax, eax
mov edi, edx
jmp 0x613139
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x38]
jmp 0x613123
lea edi, [ecx + 4]
mov eax, ebx
call fcn.0044c870
xor eax, eax
jmp 0x61310d
mov dword [esp + 0x7c], edi
mov edi, ebx
mov eax, dword [esp + 0xc4]
call fcn.0044c870
lea ebp, [ebx + 4]
mov edi, ebp
mov eax, edx
call fcn.0044c870
xor eax, eax
mov edi, dword [esp + 0x7c]
jmp 0x6130f6
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.00438b10
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xa4]
jmp 0x6130da
mov eax, edi
mov edi, dword [esp + 0xd8]
mov ecx, eax
mov eax, ebx
call fcn.0044c870
lea edx, [0x7b5f20]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040f950
xor eax, eax
mov edx, dword [esp + 0xa4]
jmp 0x6130b5
lea eax, [0x7b5f20]
mov dword [esp], eax
call fcn.00409cb0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa4]
jmp 0x6130bc
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0xe8]
call fcn.0044c870
mov eax, edx
jmp 0x612f82
lea eax, [0x770e60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00438b10
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x104]
jmp 0x612f28
mov dword [esp + 0xb0], ebx
mov edi, ebp
mov eax, edx
call fcn.0044c870
lea ecx, [0x7b5f20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0040f950
xor eax, eax
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x104]
jmp 0x612f03
lea eax, [0x7b5f20]
mov dword [esp], eax
call fcn.00409cb0
mov ebx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x104]
jmp 0x612f03
mov edx, dword [esp + 0x2c]
jmp 0x612d5b
mov ebp, dword [edx + 0x18]
mov ebx, dword [edx + 0x14]
mov eax, dword [edx + 0x1c]
movzx edx, word [edx + 2]
and edx, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x104]
jmp 0x612d28
mov edx, ebx
jmp 0x612d0e
mov edx, dword [esp + 0x2c]
xor ecx, ecx
xor ebp, ebp
xor ebx, ebx
xor esi, esi
jmp 0x612d6b
mov ecx, dword [esp + 0x38]
mov eax, edx
mov ebp, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xc0], eax
xor edx, edx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x3c]
mov edx, eax
jmp 0x6133c7
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov ebx, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xf0], ebx
cmp esi, ecx
jg 0x6139a4
mov dword [esp + 0x60], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x44], edi
jge 0x613996
jae 0x613fc8
mov ebx, dword [ebp + esi*4]
movzx edx, byte [ebx]
cmp dl, 2
jne 0x613955
xor edx, edx
mov ebx, dword [esp + 0xc0]
test ebx, ebx
jne 0x613823
cmp esi, edi
jne 0x613432
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0xf0]
jmp 0x6133a9
mov dword [esp + 0xcc], edx
lea ebx, [edi + 1]
cmp esi, ebx
jne 0x61353d
cmp edi, ecx
jae 0x613fba
mov ebx, dword [esp + 0x7c]
lea ecx, [ebx + 1]
mov ebp, dword [ebp + edi*4]
mov edi, edx
mov edx, dword [esp + 0x78]
cmp ecx, edx
jg 0x6134de
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], ecx
mov esi, dword [esp + 0xc8]
lea ecx, [esi + ebx*4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x6134c6
mov dword [esi + ebx*4], ebp
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xec]
mov ebx, ecx
mov edi, esi
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xcc]
mov esi, dword [esp + 0x60]
jmp 0x6133a9
mov ecx, edi
mov edi, dword [esp + 0xd4]
mov ebx, eax
mov eax, ebp
call fcn.0044c870
mov eax, ebx
mov edi, ecx
jmp 0x61349f
mov dword [esp + 0xdc], ebp
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0xcc]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
jmp 0x61347d
mov ebx, dword [esp + 0xf8]
jmp 0x61357b
lea edi, [edx + 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x60]
cmp edi, esi
jge 0x6135d8
cmp edi, ecx
jae 0x613fb3
mov dword [esp + 0x74], edi
mov eax, dword [ebp + edi*4]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [esp + 0x44]
cmp edi, eax
setne cl
mov byte [esp + 8], cl
call fcn.00614230
mov eax, dword [0xadb480]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xec]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x6135cc
mov dword [ebx + edx*4], ecx
jmp 0x613546
mov eax, ecx
call fcn.0044c870
jmp 0x613546
test esi, esi
jl 0x613fac
mov edi, dword [esp + 0x44]
cmp edi, esi
ja 0x613fac
mov dword [esp], ebx
sub eax, edi
mov dword [esp + 0x74], eax
mov edx, edi
shl edi, 2
neg eax
sar eax, 0x1f
and eax, edi
add eax, ebp
mov dword [esp + 4], eax
sub esi, edx
mov dword [esp + 8], esi
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.006127c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x613803
mov dword [esp + 0xb4], edi
mov edx, dword [0xadb480]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x6137d3
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044c961
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jl 0x613789
mov esi, 2
mov edi, ebx
mov ebx, dword [0xadb480]
test ebx, ebx
jne 0x613760
mov ebx, dword [esp + 0xc0]
mov dword [ebp], ebx
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0xadb480]
test edx, edx
jne 0x61374f
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x7c]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jg 0x61370c
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x7c], ebp
mov edi, ebx
mov ebx, dword [0xadb480]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x6136fb
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x7c]
mov ecx, edi
mov edi, dword [esp + 0xcc]
jmp 0x6134a3
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0044c870
xor eax, eax
mov edi, edx
jmp 0x6136e5
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x7c]
jmp 0x6136cf
lea edi, [ecx + 4]
mov eax, ebp
call fcn.0044c870
xor eax, eax
jmp 0x6136b9
mov dword [esp + 0x74], edi
mov edi, ebp
mov eax, dword [esp + 0xc0]
call fcn.0044c870
lea ebx, [ebp + 4]
mov edi, ebx
mov eax, edx
call fcn.0044c870
xor eax, eax
mov edi, dword [esp + 0x74]
jmp 0x6136a2
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00438b10
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa8]
jmp 0x613685
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.0044c870
lea edx, [0x7b5f20]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040f950
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x613660
lea eax, [0x7b5f20]
mov dword [esp], eax
call fcn.00409cb0
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x613667
mov dword [esp + 0xa0], edx
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0061a800
movzx eax, byte [esp + 8]
test al, al
je 0x61394c
mov ecx, dword [esp + 0xc0]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x613923
mov ebx, dword [ecx + 0x18]
cmp ebx, 1
jne 0x613923
mov eax, 1
test al, al
je 0x6138a1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0xc0]
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
jmp 0x6133a9
cmp dl, 0x11
jne 0x6138d9
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
cmp edx, ebx
jne 0x6138d9
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
test edx, edx
jbe 0x613fc1
mov edx, dword [ebx]
movzx ebx, byte [edx]
cmp bl, 3
jne 0x613903
mov edx, dword [edx + 0x18]
cmp edx, 1
jne 0x613903
mov eax, 1
test al, al
jne 0x61386b
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x44]
jmp 0x61340f
cmp bl, 4
jne 0x61390f
mov eax, 1
jmp 0x6138d5
cmp bl, 5
jne 0x61391b
mov eax, 1
jmp 0x6138d5
cmp bl, 6
sete al
jmp 0x6138d5
cmp dl, 4
jne 0x613932
mov eax, 1
jmp 0x613867
cmp dl, 5
jne 0x613941
mov eax, 1
jmp 0x613867
cmp dl, 6
sete al
jmp 0x613867
mov ecx, dword [esp + 0xc0]
jmp 0x6138d9
cmp dl, 0x12
jne 0x613988
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jle 0x613988
mov edx, dword [edx]
movzx ebx, byte [edx]
cmp bl, 2
jne 0x61397c
mov ebp, dword [esp + 0xec]
xor edx, edx
jmp 0x613400
mov ebp, dword [esp + 0xec]
jmp 0x613400
mov ebp, dword [esp + 0xec]
mov edx, ebx
jmp 0x613400
mov ebx, dword [esp + 0xc0]
xor edx, edx
jmp 0x61340f
mov ecx, dword [esp + 0x7c]
mov eax, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x6139bd
inc ebp
mov edx, dword [esp + 0x7c]
mov edx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xec], ebx
mov dword [esp + 0x38], edi
cmp ebp, ecx
jg 0x613dea
mov dword [esp + 0x70], edx
jge 0x613a06
jae 0x613fa5
mov ecx, dword [eax + ebp*4]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x613dc1
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x613dc1
mov ecx, 1
test cl, cl
je 0x613a06
mov ecx, dword [esp + 0x70]
jmp 0x6139b2
mov dword [esp + 0x58], ebp
cmp ebp, esi
jne 0x613ac2
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x70]
jge 0x613abc
jae 0x613f82
lea esi, [edi + 1]
mov ecx, dword [eax + ebp*4]
cmp esi, edx
jg 0x613a69
mov dword [esp + 0x3c], edx
mov ebp, dword [0xadb480]
lea edx, [ebx + edi*4]
test ebp, ebp
jne 0x613a5a
mov dword [ebx + edi*4], ecx
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x58]
lea edx, [ebp + 1]
mov edi, esi
mov esi, edx
jmp 0x6139b2
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044c870
mov eax, ebp
jmp 0x613a46
mov dword [esp + 0x6c], edi
mov dword [esp + 0xdc], ecx
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438b10
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x6c]
jmp 0x613a32
mov ecx, edx
mov esi, edi
jmp 0x613a4a
lea ecx, [esi + 1]
cmp ebp, ecx
jne 0x613b7c
mov ecx, dword [esp + 0x7c]
cmp esi, ecx
jae 0x613f9e
lea edx, [edi + 1]
mov esi, dword [eax + esi*4]
mov ecx, dword [esp + 0x70]
cmp edx, ecx
jg 0x613b2d
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [0xadb480]
lea edx, [ebx + edi*4]
test ecx, ecx
jne 0x613b16
mov dword [ebx + edi*4], esi
mov ecx, dword [esp + 0x7c]
cmp ebp, ecx
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, edx
mov edx, esi
jmp 0x613a1c
mov edi, edx
mov ecx, eax
mov eax, esi
call fcn.0044c870
mov edx, dword [esp + 0x7c]
cmp ebp, edx
mov eax, ecx
mov ecx, edx
jmp 0x613b05
mov dword [esp + 0xdc], esi
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00438b10
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xf0]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x38]
jmp 0x613ae7
mov dword [esp + 0x78], ecx
mov dword [esp + 0x40], esi
mov edx, dword [esp + 0x7c]
jmp 0x613ba2
inc edx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0xec]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
cmp ecx, ebp
jge 0x613be8
cmp esi, edx
jae 0x613f97
mov ebx, dword [eax + esi*4]
movzx ebp, byte [ebx]
cmp ecx, edx
jae 0x613f97
mov dword [esp + 0x74], esi
mov edx, dword [eax + ecx*4]
movzx esi, byte [edx]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jae 0x613bd4
mov edx, ecx
jmp 0x613b8a
jne 0x613be0
mov ebx, dword [ebx + 0x18]
mov edx, dword [edx + 0x18]
cmp ebx, edx
jl 0x613bd0
mov edx, ecx
mov ecx, dword [esp + 0x74]
jmp 0x613b8a
mov ecx, dword [esp + 0x40]
cmp ecx, edx
jae 0x613f90
mov ebx, dword [eax + ecx*4]
lea ebp, [eax + ecx*4]
cmp esi, edx
jae 0x613f90
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xdc], ebx
mov ebp, dword [0xadb480]
mov edx, dword [eax + esi*4]
lea ebx, [eax + esi*4]
test ebp, ebp
jne 0x613d98
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0xdc]
mov dword [eax + esi*4], edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x78]
jmp 0x613c5c
lea esi, [eax + 1]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x58]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov ebp, esi
cmp ebp, ebx
jge 0x613cc7
mov esi, dword [eax + ecx*4]
cmp ebp, edx
jae 0x613f89
mov dword [esp + 0x4c], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00615f10
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0xadb480]
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x613caa
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x613c3f
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.0044c870
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.0044c870
mov eax, ebx
jmp 0x613c3f
mov edx, dword [eax + ecx*4]
mov dword [esp], edx
call fcn.006125d0
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0xf0]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x70]
cmp ecx, ebp
jg 0x613d46
mov esi, dword [esp + 0xec]
mov dword [esp + 0x38], ecx
mov edi, ebx
mov ebx, dword [0xadb480]
lea ecx, [esi + eax*4]
test ebx, ebx
jne 0x613d2b
mov dword [esi + eax*4], edx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov eax, edi
mov ecx, edx
mov ebx, esi
mov edx, dword [esp + 0x38]
mov esi, ebp
mov ebp, dword [esp + 0x58]
jmp 0x613b0d
mov eax, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.0044c870
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
cmp ecx, edx
mov edi, ebx
jmp 0x613d16
mov dword [esp + 0xdc], edx
lea edx, [0x7ae4c0]
mov dword [esp], edx
mov ebx, dword [esp + 0xec]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438b10
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xf0]
jmp 0x613cf6
mov ebp, edi
mov edi, dword [esp + 0xd0]
mov esi, eax
mov eax, edx
call fcn.0044c870
mov edi, ebx
mov eax, dword [esp + 0xdc]
call fcn.0044c870
mov eax, esi
mov edi, ebp
jmp 0x613c31
cmp dl, 4
jne 0x613dd0
mov ecx, 1
jmp 0x6139fc
cmp dl, 5
jne 0x613ddf
mov ecx, 1
jmp 0x6139fc
cmp dl, 6
sete cl
jmp 0x6139fc
mov eax, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x613df6
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x613f2e
mov dword [esp + 0xf0], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x613f27
cmp ecx, edi
jae 0x613f7b
mov ebx, dword [eax + ecx*4]
movzx ebx, byte [ebx]
cmp bl, 2
jne 0x613f20
cmp esi, edi
jae 0x613f7b
mov ebx, dword [eax + ecx*4 + 4]
movzx ebx, byte [ebx]
cmp bl, 2
jne 0x613e44
mov ecx, dword [esp + 0xf0]
jmp 0x613df2
cmp ecx, edi
jae 0x613f74
mov dword [esp + 0x68], esi
lea ebx, [ebp + 1]
mov ecx, dword [eax + ecx*4]
cmp ebx, edx
jg 0x613ebb
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x3c], edx
mov esi, dword [0xadb480]
mov edx, dword [esp + 0xc8]
lea ebx, [edx + ebp*4]
test esi, esi
jne 0x613ea8
mov dword [edx + ebp*4], ecx
mov esi, dword [esp + 0x68]
mov ecx, edx
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x3c]
jmp 0x613df2
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, ecx
call fcn.0044c870
mov eax, esi
mov edi, ebp
jmp 0x613e95
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x64], ebp
lea eax, [0x7ae4c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00438b10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xec]
jmp 0x613e76
cmp ecx, edi
jmp 0x613e46
cmp ecx, edi
jmp 0x613e46
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], edx
add esp, 0xf4
ret
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x110], eax
add esp, 0xf4
ret
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.00426430
ud2
call fcn.0044b110
jmp fcn.00612ba0