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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffecc
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x34], ecx
lea ebx, [ebp - 0x134]
mov byte [ebp - 0x35], 0
mov byte [ebp - 0x36], 0
mov byte [ebp - 0x37], 0
mov byte [ebp - 0x38], 0
mov dword [ebp - 0x40], eax
xor eax, eax
mov esi, dword [ebp - 0xc]
add esi, dword [ebp + 0x14]
mov dword [ebp - 0x48], eax
lea edx, [esi - 1]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0
jne 0x731916
cmp dword [ebp - 8], 0
jne 0x731916
cmp dword [ebp - 0xc], 0
jne 0x731916
cmp dword [ebp + 0x18], 0xfffffc19
jne 0x731916
cmp dword [ebp + 0x14], 0xfffffc19
jne 0x731916
push 0
push 0
push 0
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00720e70
jmp 0x73266d
test dword [ebp + 0x10], 0xe20f5a6f
je 0x731929
mov eax, 0xfffffffd
jmp 0x73266d
cmp dword [ebp - 0x54], 0
je 0x731941
cmp dword [ebp - 0xc], 0
je 0x731941
cmp dword [ebp + 0xc], 0
jne 0x73194b
cmp dword [ebp + 8], 0
jle 0x73194b
mov eax, 0xfffffffe
jmp 0x73266d
cmp dword [ebp + 8], 0
jge 0x73195b
mov eax, 0xfffffff1
jmp 0x73266d
cmp dword [ebp + 0x18], 0
jge 0x73196b
mov eax, 0xffffffe0
jmp 0x73266d
cmp dword [ebp + 0x14], 0
jl 0x731979
mov edx, dword [ebp + 0x14]
cmp edx, dword [ebp + 0x18]
jle 0x731983
mov eax, 0xffffffe8
jmp 0x73266d
mov edx, dword [ebp - 0x54]
cmp dword [edx], 0x50435245
je 0x7319ad
mov ecx, dword [ebp - 0x54]
cmp dword [ecx], 0x45524350
jne 0x7319a3
mov eax, 0xffffffe3
jmp 0x73266d
mov eax, 0xfffffffc
jmp 0x73266d
mov edx, dword [ebp - 0x54]
test byte [edx + 0xc], 1
jne 0x7319c0
mov eax, 0xffffffe4
jmp 0x73266d
mov edx, dword [ebp - 0x54]
test byte [edx + 9], 8
setne cl
and ecx, 1
mov dword [ebx + 0x48], ecx
mov dword [ebp - 0x2c], ecx
test byte [ebp + 0x13], 8
je 0x7319e0
mov eax, 2
jmp 0x7319ef
test byte [ebp + 0x11], 0x80
je 0x7319ed
mov eax, 1
jmp 0x7319ef
xor eax, eax
mov dword [ebx + 0x88], eax
cmp dword [ebp - 0x2c], 0
je 0x731a89
test byte [ebp + 0x11], 0x20
jne 0x731a89
lea ecx, [ebp - 0x58]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xc]
call fcn.007736c8
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x731a5a
cmp dword [ebp + 8], 2
jl 0x731a37
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x58]
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x5c]
mov dword [ecx + 4], eax
cmp dword [ebp - 0x5c], 5
jg 0x731a50
cmp dword [ebx + 0x88], 1
jle 0x731a50
mov eax, 0xffffffe7
jmp 0x73266d
mov eax, 0xfffffff6
jmp 0x73266d
cmp dword [ebp + 0x14], 0
jle 0x731a89
mov edx, dword [ebp + 0x14]
cmp edx, dword [ebp + 0x18]
jge 0x731a89
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp + 0x14]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0xc0
cmp eax, 0x80
jne 0x731a89
mov eax, 0xfffffff5
jmp 0x73266d
cmp dword [ebp - 8], 0
je 0x731ada
mov edx, dword [ebp - 8]
mov ecx, dword [edx]
and ecx, 0x48
cmp ecx, 0x40
jne 0x731ada
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x1c], 0
je 0x731ada
test dword [ebp + 0x10], 0xe7ff5a7f
jne 0x731ada
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.00754c9c
mov edi, eax
cmp edi, 0xffffffe1
je 0x731ada
mov eax, edi
jmp 0x73266d
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x18]
add ecx, dword [ebp - 0x54]
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x1c]
mov dword [ebx + 0x20], eax
xor eax, eax
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x1a]
mov dword [ebx + 0x24], ecx
mov dword [ebp - 0x50], eax
mov dword [ebx + 4], 0x989680
mov dword [ebx + 8], 0x989680
xor edx, edx
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 8], 0
je 0x731b7b
mov edx, dword [ebp - 8]
mov ecx, dword [edx]
mov dword [ebp - 0x60], ecx
test byte [ebp - 0x60], 1
je 0x731b3c
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov dword [ebp - 0x50], edx
test byte [ebp - 0x60], 2
je 0x731b4b
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 8]
mov dword [ebx + 4], eax
test byte [ebp - 0x60], 0x10
je 0x731b5a
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x14]
mov dword [ebx + 8], ecx
test byte [ebp - 0x60], 4
je 0x731b6c
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xa8], edx
test byte [ebp - 0x60], 8
je 0x731b7b
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x731b88
mov dword [ebp - 0x3c], 0x9e0e2c
mov edx, dword [ebp - 0x54]
mov ecx, dword [edx + 8]
or ecx, dword [ebp + 0x10]
test cl, 0x10
setne al
and eax, 1
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x54]
test byte [edx + 0xd], 1
setne cl
and ecx, 1
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x54]
test byte [eax + 0xa], 4
setne dl
and edx, 1
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x1c]
movzx edx, word [edx + 0x1a]
imul edx
mov ecx, dword [ebp - 0x54]
movzx edx, word [ecx + 0x18]
add edx, dword [ebp - 0x54]
add eax, edx
mov dword [ebx + 0x70], eax
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x74], eax
mov ecx, dword [ebp + 0x14]
mov dword [ebx + 0x94], ecx
mov ecx, dword [ebx + 0x74]
add ecx, dword [ebp + 0x18]
mov dword [ebx + 0x78], ecx
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x54]
test byte [edx + 8], 0x20
setne cl
and ecx, 1
mov dword [ebx + 0x54], ecx
mov eax, dword [ebp - 0x54]
test byte [eax + 0xb], 0x20
setne dl
and edx, 1
mov dword [ebx + 0x50], edx
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xb], 2
setne al
and eax, 1
xor edx, edx
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x6c], edx
test byte [ebp + 0x10], 0x80
setne cl
and ecx, 1
mov dword [ebx + 0x40], ecx
test byte [ebp + 0x11], 1
setne al
and eax, 1
mov dword [ebx + 0x44], eax
test byte [ebp + 0x11], 4
setne dl
and edx, 1
mov dword [ebx + 0x58], edx
test byte [ebp + 0x13], 0x10
setne cl
and ecx, 1
xor eax, eax
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], eax
xor edx, edx
xor eax, eax
mov dword [ebx + 0xb0], edx
mov dword [ebx + 0xac], edx
mov dword [ebx + 0xa4], eax
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xd], 0x10
setne cl
and ecx, 1
mov dword [ebx + 0x68], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x30], eax
mov edx, dword [ebp - 0x3c]
add edx, 0x100
mov dword [ebx + 0x34], edx
mov ecx, dword [ebp - 0x3c]
add ecx, 0x340
mov dword [ebx + 0x38], ecx
mov eax, dword [ebp + 0x10]
and eax, 0x1800000
sub eax, 1
jb 0x731cc9
sub eax, 0x7fffff
je 0x731cee
sub eax, 0x800000
je 0x731cf7
jmp 0x731cfe
mov edx, dword [ebp - 0x54]
test dword [edx + 8], 0x1800000
je 0x731ce7
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xa], 0x80
setne al
and eax, 1
mov dword [ebx + 0x64], eax
jmp 0x731d08
xor edx, edx
mov dword [ebx + 0x64], edx
jmp 0x731d08
mov dword [ebx + 0x64], 1
jmp 0x731d08
xor ecx, ecx
mov dword [ebx + 0x64], ecx
jmp 0x731d08
mov eax, 0xffffffe9
jmp 0x73266d
test byte [ebp + 0x12], 0x70
jne 0x731d16
mov edx, dword [ebp - 0x54]
mov ecx, dword [edx + 8]
jmp 0x731d19
mov ecx, dword [ebp + 0x10]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x731d40
je 0x731d6d
sub ecx, 1
jb 0x731d52
sub ecx, 0xfffff
je 0x731d5b
sub ecx, 0x100000
je 0x731d64
jmp 0x731d88
sub ecx, 0x400000
je 0x731d76
sub ecx, 0x100000
je 0x731d7f
jmp 0x731d88
mov dword [ebp - 0x18], 0xd0a
jmp 0x731d92
mov dword [ebp - 0x18], 0xd
jmp 0x731d92
mov dword [ebp - 0x18], 0xa
jmp 0x731d92
mov dword [ebp - 0x18], 0xd0a
jmp 0x731d92
mov dword [ebp - 0x18], 0xffffffff
jmp 0x731d92
mov dword [ebp - 0x18], 0xfffffffe
jmp 0x731d92
mov eax, 0xffffffe9
jmp 0x73266d
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x731da1
mov dword [ebx + 0x18], 2
jmp 0x731de8
cmp dword [ebp - 0x18], 0
jge 0x731db0
mov dword [ebx + 0x18], 1
jmp 0x731de8
xor edx, edx
mov dword [ebx + 0x18], edx
cmp dword [ebp - 0x18], 0xff
jle 0x731ddb
mov dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 0x18]
sar ecx, 8
and cl, 0xff
mov byte [ebx + 0x2c], cl
mov al, byte [ebp - 0x18]
and al, 0xff
mov byte [ebx + 0x2d], al
jmp 0x731de8
mov dword [ebx + 0x1c], 1
mov dl, byte [ebp - 0x18]
mov byte [ebx + 0x2c], dl
cmp dword [ebx + 0x88], 0
je 0x731e04
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xd], 2
je 0x731e04
mov eax, 0xfffffff3
jmp 0x73266d
mov eax, dword [ebp + 8]
mov ecx, 3
cdq
idiv ecx
mov eax, dword [ebp + 8]
sub eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x12]
test eax, eax
jle 0x731e7f
mov eax, dword [ebp - 0x10]
mov ecx, 3
cdq
idiv ecx
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x12]
cmp eax, ecx
jg 0x731e7f
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x12]
lea eax, [ecx + ecx*2]
add eax, 3
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
shl eax, 2
call fcn.0070f308
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0xc], 0
jne 0x731e76
mov eax, 0xfffffffa
jmp 0x73266d
mov dword [ebp - 0x1c], 1
jmp 0x731e85
mov edx, dword [ebp + 0xc]
mov dword [ebx + 0xc], edx
mov ecx, dword [ebp - 0x10]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0x10]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebx + 0x14], eax
xor ecx, ecx
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x90], 0xffffffff
cmp dword [ebx + 0xc], 0
je 0x731f07
mov eax, dword [ebp - 0x10]
shl eax, 2
add eax, dword [ebx + 0xc]
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x10]
shl ecx, 2
mov eax, dword [ebp - 0x64]
sub eax, ecx
mov dword [ebp - 0x68], eax
mov edx, dword [ebx + 0xc]
add edx, 8
cmp edx, dword [ebp - 0x68]
jbe 0x731eed
mov ecx, dword [ebx + 0xc]
add ecx, 8
mov dword [ebp - 0x68], ecx
jmp 0x731eed
mov eax, dword [ebp - 0x64]
mov dword [eax], 0xffffffff
sub dword [ebp - 0x64], 4
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x68]
jae 0x731ee4
mov ecx, dword [ebx + 0xc]
or eax, 0xffffffff
mov dword [ecx + 4], eax
mov edx, dword [ebx + 0xc]
mov dword [edx], eax
cmp dword [ebp - 0x20], 0
jne 0x731f60
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xc], 0x10
je 0x731f42
mov dword [ebp - 0x30], 1
mov ecx, dword [ebp - 0x54]
mov al, byte [ecx + 0x14]
mov byte [ebp - 0x36], al
mov byte [ebp - 0x35], al
mov edx, dword [ebp - 0x54]
test byte [edx + 0xc], 0x20
je 0x731f60
xor ecx, ecx
mov cl, byte [ebp - 0x35]
mov edi, dword [ebx + 0x34]
mov al, byte [edi + ecx]
mov byte [ebp - 0x36], al
jmp 0x731f60
cmp dword [ebp - 0x24], 0
jne 0x731f60
cmp dword [ebp - 0x50], 0
je 0x731f60
mov edx, dword [ebp - 0x50]
test byte [edx + 4], 1
je 0x731f60
mov ecx, dword [ebp - 0x50]
add ecx, 8
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xc], 0x40
je 0x731f93
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x54]
mov dl, byte [eax + 0x16]
mov byte [ebp - 0x38], dl
mov byte [ebp - 0x37], dl
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 0x80
je 0x731f93
xor ecx, ecx
mov cl, byte [ebp - 0x37]
mov edi, dword [ebx + 0x34]
mov al, byte [edi + ecx]
mov byte [ebp - 0x38], al
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x28], 0
je 0x732094
cmp dword [ebp - 0x2c], 0
mov edi, esi
je 0x732031
jmp 0x731fca
inc edi
jmp 0x731fb5
inc edi
cmp edi, dword [ebp - 0x44]
jae 0x731fca
xor eax, eax
mov al, byte [edi]
and eax, 0xc0
cmp eax, 0x80
je 0x731fb4
cmp edi, dword [ebx + 0x78]
jae 0x732091
cmp dword [ebx + 0x18], 0
je 0x732002
cmp edi, dword [ebx + 0x78]
jae 0x731ff7
lea edx, [ebx + 0x1c]
push edx
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x18]
mov eax, edi
call fcn.00774718
test eax, eax
jne 0x731ffb
xor ecx, ecx
jmp 0x73202a
mov ecx, 1
jmp 0x73202a
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x1c]
cmp edi, eax
ja 0x732021
mov dl, byte [edi]
cmp dl, byte [ebx + 0x2c]
jne 0x732021
cmp dword [ebx + 0x1c], 1
je 0x732025
mov cl, byte [edi + 1]
cmp cl, byte [ebx + 0x2d]
je 0x732025
xor ecx, ecx
jmp 0x73202a
mov ecx, 1
test ecx, ecx
je 0x731fb1
jmp 0x732091
inc edi
cmp edi, dword [ebx + 0x78]
jae 0x732091
cmp dword [ebx + 0x18], 0
je 0x732065
cmp edi, dword [ebx + 0x78]
jae 0x73205a
lea eax, [ebx + 0x1c]
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x18]
mov eax, edi
call fcn.00774718
test eax, eax
jne 0x73205e
xor ecx, ecx
jmp 0x73208d
mov ecx, 1
jmp 0x73208d
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x1c]
cmp edi, eax
ja 0x732084
mov dl, byte [edi]
cmp dl, byte [ebx + 0x2c]
jne 0x732084
cmp dword [ebx + 0x1c], 1
je 0x732088
mov cl, byte [edi + 1]
cmp cl, byte [ebx + 0x2d]
je 0x732088
xor ecx, ecx
jmp 0x73208d
mov ecx, 1
test ecx, ecx
je 0x732030
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 8]
or edx, dword [ebp + 0x10]
test edx, 0x4000000
jne 0x732284
cmp dword [ebp - 0x30], 0
je 0x7320ee
mov cl, byte [ebp - 0x35]
cmp cl, byte [ebp - 0x36]
je 0x7320d9
jmp 0x7320ba
inc esi
cmp esi, dword [ebp - 0x44]
jae 0x732284
mov al, byte [esi]
cmp al, byte [ebp - 0x35]
je 0x732284
cmp al, byte [ebp - 0x36]
jne 0x7320b9
jmp 0x732284
inc esi
cmp esi, dword [ebp - 0x44]
jae 0x732284
mov al, byte [esi]
cmp al, byte [ebp - 0x35]
jne 0x7320d8
jmp 0x732284
cmp dword [ebp - 0x24], 0
je 0x732235
mov edx, dword [ebx + 0x74]
add edx, dword [ebp + 0x14]
cmp esi, edx
jbe 0x732284
cmp dword [ebp - 0x2c], 0
je 0x7321a3
jmp 0x73212d
inc esi
jmp 0x732116
inc esi
cmp esi, dword [ebp - 0x44]
jae 0x73212d
xor ecx, ecx
mov cl, byte [esi]
and ecx, 0xc0
cmp ecx, 0x80
je 0x732115
cmp esi, dword [ebp - 0x44]
jae 0x73220e
cmp dword [ebx + 0x18], 0
je 0x732166
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x73215b
lea eax, [ebx + 0x1c]
mov ecx, edi
push eax
mov eax, esi
mov edx, dword [ebp - 0x2c]
push edx
mov edx, dword [ebx + 0x18]
call fcn.00774914
test eax, eax
jne 0x73215f
xor ecx, ecx
jmp 0x732198
mov ecx, 1
jmp 0x732198
mov ecx, dword [ebx + 0x74]
add ecx, dword [ebx + 0x1c]
cmp esi, ecx
jb 0x73218f
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ebx + 0x2c]
jne 0x73218f
cmp dword [ebx + 0x1c], 1
je 0x732193
mov ecx, esi
sub ecx, dword [ebx + 0x1c]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x2d]
je 0x732193
xor ecx, ecx
jmp 0x732198
mov ecx, 1
test ecx, ecx
je 0x732112
jmp 0x73220e
inc esi
cmp esi, dword [ebp - 0x44]
jae 0x73220e
cmp dword [ebx + 0x18], 0
je 0x7321d8
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x7321cd
lea eax, [ebx + 0x1c]
mov ecx, edi
push eax
mov eax, esi
mov edx, dword [ebp - 0x2c]
push edx
mov edx, dword [ebx + 0x18]
call fcn.00774914
test eax, eax
jne 0x7321d1
xor ecx, ecx
jmp 0x73220a
mov ecx, 1
jmp 0x73220a
mov ecx, dword [ebx + 0x74]
add ecx, dword [ebx + 0x1c]
cmp esi, ecx
jb 0x732201
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ebx + 0x2c]
jne 0x732201
cmp dword [ebx + 0x1c], 1
je 0x732205
mov ecx, esi
sub ecx, dword [ebx + 0x1c]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0x2d]
je 0x732205
xor ecx, ecx
jmp 0x73220a
mov ecx, 1
test ecx, ecx
je 0x7321a2
xor eax, eax
mov al, byte [esi - 1]
cmp eax, 0xd
jne 0x732284
cmp dword [ebx + 0x18], 1
je 0x732224
cmp dword [ebx + 0x18], 2
jne 0x732284
cmp esi, dword [ebp - 0x44]
jae 0x732284
xor edx, edx
mov dl, byte [esi]
cmp edx, 0xa
jne 0x732284
inc esi
jmp 0x732284
cmp dword [ebp - 0x40], 0
je 0x732284
cmp esi, dword [ebp - 0x44]
jae 0x732284
xor eax, eax
mov al, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
shr eax, 3
mov ecx, dword [ebp - 0x40]
movzx eax, byte [ecx + eax]
and edx, eax
jne 0x732284
inc esi
cmp dword [ebp - 0x2c], 0
je 0x73227f
jmp 0x732268
inc esi
cmp esi, dword [ebp - 0x44]
jae 0x73227f
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x732267
cmp esi, dword [ebp - 0x44]
jb 0x732240
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 8]
or edx, dword [ebp + 0x10]
test edx, 0x4000000
jne 0x732349
cmp dword [ebx + 0x88], 0
jne 0x732349
cmp dword [ebp - 0x50], 0
je 0x7322cf
mov ecx, dword [ebp - 0x50]
test byte [ecx + 4], 2
je 0x7322cf
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
sub eax, esi
cmp eax, dword [edx + 0x28]
jae 0x7322cf
xor edi, edi
jmp 0x7324d5
cmp dword [ebp - 0x34], 0
je 0x732349
mov eax, dword [ebp - 0x44]
sub eax, esi
cmp eax, 0x3e8
jge 0x732349
cmp dword [ebp - 0x30], 0
je 0x7322ee
mov eax, 1
jmp 0x7322f0
xor eax, eax
add eax, esi
cmp eax, dword [ebp - 0x4c]
jbe 0x732349
mov dl, byte [ebp - 0x37]
cmp dl, byte [ebp - 0x38]
je 0x732325
cmp eax, dword [ebp - 0x44]
jae 0x73233a
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
inc eax
mov cl, byte [ebp - 0x37]
cmp edx, ecx
je 0x73231b
xor ecx, ecx
mov cl, byte [ebp - 0x38]
cmp edx, ecx
jne 0x73231e
dec eax
jmp 0x73233a
cmp eax, dword [ebp - 0x44]
jb 0x732304
jmp 0x73233a
cmp eax, dword [ebp - 0x44]
jae 0x73233a
mov dl, byte [eax]
inc eax
cmp dl, byte [ebp - 0x37]
jne 0x732335
dec eax
jmp 0x73233a
cmp eax, dword [ebp - 0x44]
jb 0x73232a
cmp eax, dword [ebp - 0x44]
jb 0x732346
xor edi, edi
jmp 0x7324d5
mov dword [ebp - 0x4c], eax
mov dword [ebx + 0x7c], esi
mov dword [ebx + 0x84], esi
xor eax, eax
xor edx, edx
mov dword [ebx], eax
mov dword [ebx + 0x98], edx
xor ecx, ecx
mov eax, esi
mov dword [ebx + 0x8c], ecx
push 2
push ebx
push 0
push 0
mov ecx, esi
mov edx, dword [ebx + 0x70]
call fcn.00720e70
cmp dword [ebx + 0x60], 0
mov edi, eax
je 0x732390
cmp dword [ebp - 0x48], 0
jne 0x732390
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x48], eax
mov edx, edi
cmp edx, 0xfffffc1f
jg 0x7323b1
je 0x7323c6
sub edx, 0xfffffc1a
je 0x732412
sub edx, 3
je 0x7323df
dec edx
je 0x7323d2
jmp 0x7324d5
sub edx, 0xfffffc20
je 0x7323df
sub edx, 0x3e0
je 0x7323df
jmp 0x7324d5
mov dword [ebp - 0x70], esi
mov dword [ebx + 0x6c], 1
jmp 0x732419
cmp esi, dword [ebx + 0x7c]
je 0x7323df
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x70], ecx
jmp 0x732419
xor ecx, ecx
lea eax, [esi + 1]
mov dword [ebx + 0x6c], ecx
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x2c], 0
je 0x732419
jmp 0x7323f5
inc dword [ebp - 0x70]
mov edx, dword [ebp - 0x70]
cmp edx, dword [ebp - 0x44]
jae 0x732419
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x7323f2
jmp 0x732419
xor edi, edi
jmp 0x7324d5
xor edi, edi
cmp dword [ebp - 0x28], 0
je 0x73247c
cmp dword [ebx + 0x18], 0
je 0x732450
cmp esi, dword [ebx + 0x78]
jae 0x732445
lea eax, [ebx + 0x1c]
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00774718
test eax, eax
jne 0x732449
xor ecx, ecx
jmp 0x732478
mov ecx, 1
jmp 0x732478
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp esi, ecx
ja 0x73246f
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne 0x73246f
cmp dword [ebx + 0x1c], 1
je 0x732473
mov dl, byte [esi + 1]
cmp dl, byte [ebx + 0x2d]
je 0x732473
xor ecx, ecx
jmp 0x732478
mov ecx, 1
test ecx, ecx
jne 0x7324d5
cmp dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x70]
jne 0x7324d5
cmp esi, dword [ebp - 0x44]
ja 0x7324d5
mov eax, dword [ebp - 0xc]
add eax, dword [ebp + 0x14]
cmp esi, eax
jbe 0x7324c8
xor edx, edx
mov dl, byte [esi - 1]
cmp edx, 0xd
jne 0x7324c8
cmp esi, dword [ebp - 0x44]
jae 0x7324c8
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0xa
jne 0x7324c8
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xd], 8
jne 0x7324c8
cmp dword [ebx + 0x18], 1
je 0x7324c7
cmp dword [ebx + 0x18], 2
je 0x7324c7
cmp dword [ebx + 0x1c], 2
jne 0x7324c8
inc esi
xor eax, eax
mov dword [ebx + 0xac], eax
jmp 0x731f93
cmp edi, 1
je 0x7324e6
cmp edi, 0xfffffc19
jne 0x7325ff
cmp dword [ebp - 0x1c], 0
je 0x732526
cmp dword [ebp - 0x14], 4
jl 0x73250c
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 0xc]
add ecx, 0xfffffffe
add edx, 8
shl ecx, 2
mov eax, dword [ebp + 0xc]
add eax, 8
call fcn.0070f4c0
mov ecx, dword [ebx + 0x8c]
cmp ecx, dword [ebp - 0x14]
jle 0x73251e
mov dword [ebx + 0x3c], 1
mov eax, dword [ebx + 0xc]
call fcn.0070f328
cmp dword [ebx + 0x3c], 0
je 0x73253b
mov edx, dword [ebx + 0x8c]
cmp edx, dword [ebp - 0x14]
jl 0x73253b
xor edi, edi
jmp 0x732548
mov edi, dword [ebx + 0x8c]
sar edi, 1
jns 0x732548
adc edi, 0
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebx + 0x8c]
sar ecx, 1
movzx edx, word [eax + 0x10]
jns 0x73255c
adc ecx, 0
cmp edx, ecx
jl 0x7325bb
cmp dword [ebp + 0xc], 0
je 0x7325bb
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x10]
add eax, eax
add eax, 2
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp + 8]
jle 0x732583
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebx + 0x8c]
shl eax, 2
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x7c]
shl edx, 2
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x78]
jae 0x7325bb
mov eax, dword [ebp - 0x74]
mov dword [eax], 0xffffffff
add dword [ebp - 0x74], 4
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x78]
jb 0x7325a6
cmp dword [ebp + 8], 2
jge 0x7325c5
xor edi, edi
jmp 0x7325df
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp + 0xc]
sub eax, dword [ebx + 0x74]
mov dword [edx], eax
mov ecx, dword [ebx + 0x80]
mov esi, dword [ebp + 0xc]
sub ecx, dword [ebx + 0x74]
mov dword [esi + 4], ecx
cmp dword [ebp - 8], 0
je 0x7325fb
mov eax, dword [ebp - 8]
test byte [eax], 0x20
je 0x7325fb
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xac]
mov dword [ecx], ebx
mov eax, edi
jmp 0x73266d
cmp dword [ebp - 0x1c], 0
je 0x73260d
mov eax, dword [ebx + 0xc]
call fcn.0070f328
test edi, edi
je 0x73261a
cmp edi, 0xfffffff4
je 0x73261a
mov eax, edi
jmp 0x73266d
cmp dword [ebp - 0x48], 0
je 0x73264c
xor edx, edx
mov dword [ebx + 0xac], edx
cmp dword [ebp + 8], 1
jle 0x732645
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp + 0xc]
sub ecx, dword [ebp - 0xc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp + 0xc]
sub edx, dword [ebp - 0xc]
mov dword [ecx + 4], edx
mov edi, 0xfffffff4
jmp 0x73264f
or edi, 0xffffffff
cmp dword [ebp - 8], 0
je 0x73266b
mov eax, dword [ebp - 8]
test byte [eax], 0x20
je 0x73266b
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xb0]
mov dword [ecx], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14