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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1224
call fcn.00490990
mov dword [ebp - 8], 1
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1c8], 0
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x18], ecx
cmp dword [ebp + 0x14], 0
jne 0x70d088
cmp dword [ebp + 0x10], 0
je 0x70d081
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x63
xor eax, eax
jmp 0x70e31c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
cmp dword [ebp + 0x10], 0
je 0x70d0a0
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0
cmp dword [ebp + 0x18], 0
jne 0x70d0b2
mov dword [ebp - 0x28], 0x10
jmp 0x70e0f7
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
cmp dword [ebp + 0x1c], 0
jne 0x70d0c8
mov dword [ebp + 0x1c], 0x800b88
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x1c]
mov dword [eax], ecx
mov edx, dword [ebp + 0x1c]
add edx, 0x100
mov eax, dword [ebp - 0x14]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x1c]
add ecx, 0x200
mov edx, dword [ebp - 0x14]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 0x1c]
add eax, 0x340
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp + 0xc]
and edx, 0xd8008580
je 0x70d113
mov dword [ebp - 0x28], 0x11
jmp 0x70e0ec
mov eax, dword [ebp + 0xc]
and eax, 0x10000
je 0x70d127
mov dword [ebp - 0x1c8], 1
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x64], 0
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x1bc]
movzx eax, byte [edx]
cmp eax, 0x28
jne 0x70d69d
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x1bc]
movzx edx, byte [ecx + 1]
cmp edx, 0x2a
jne 0x70d69d
mov dword [ebp - 0x11d0], 0
mov dword [ebp - 0x11cc], 0
push 5
push str.UTF8_
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax + 2]
push edx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d1b3
mov eax, dword [ebp - 0x1bc]
add eax, 7
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp + 0xc]
or ecx, 0x800
mov dword [ebp + 0xc], ecx
jmp 0x70d131
push 4
push str.UTF_
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x18]
lea ecx, [eax + edx + 2]
push ecx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d1f8
mov edx, dword [ebp - 0x1bc]
add edx, 6
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp + 0xc]
or eax, 0x800
mov dword [ebp + 0xc], eax
jmp 0x70d131
push 4
push str.UCP_
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x18]
lea eax, [edx + ecx + 2]
push eax
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d23e
mov ecx, dword [ebp - 0x1bc]
add ecx, 6
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp + 0xc]
or edx, 0x20000000
mov dword [ebp + 0xc], edx
jmp 0x70d131
push 0x10
push str.NO_AUTO_POSSESS_
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax + 2]
push edx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d284
mov eax, dword [ebp - 0x1bc]
add eax, 0x12
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp + 0xc]
or ecx, 0x20000
mov dword [ebp + 0xc], ecx
jmp 0x70d131
push 0xd
push str.NO_START_OPT_
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x18]
lea ecx, [eax + edx + 2]
push ecx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d2c9
mov edx, dword [ebp - 0x1bc]
add edx, 0xf
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp + 0xc]
or eax, 0x4000000
mov dword [ebp + 0xc], eax
jmp 0x70d131
push 0xc
push str.LIMIT_MATCH
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x18]
lea eax, [edx + ecx + 2]
push eax
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d3be
mov dword [ebp - 0x11d8], 0
mov ecx, dword [ebp - 0x1bc]
add ecx, 0xe
mov dword [ebp - 0x11d4], ecx
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x11d4]
movzx eax, byte [edx]
push eax
call fcn.0048f979
add esp, 4
test eax, eax
je 0x70d35e
cmp dword [ebp - 0x11d8], 0x19999998
jbe 0x70d32e
jmp 0x70d35e
mov ecx, dword [ebp - 0x11d8]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x11d4]
movzx eax, byte [edx]
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 0x11d8], ecx
mov edx, dword [ebp - 0x11d4]
add edx, 1
mov dword [ebp - 0x11d4], edx
jmp 0x70d307
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x11d4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x11d4]
add edx, 1
mov dword [ebp - 0x11d4], edx
cmp ecx, 0x29
je 0x70d383
jmp 0x70d69d
mov eax, dword [ebp - 0x11d8]
cmp eax, dword [ebp - 0x2c]
jae 0x70d3a8
mov ecx, dword [ebp - 0x11d8]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x64]
or eax, 0x2000
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x64], eax
mov edx, dword [ebp - 0x11d4]
mov dword [ebp - 0x1bc], edx
jmp 0x70d131
push 0x10
push str.LIMIT_RECURSION
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax + 2]
push edx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d4af
mov dword [ebp - 0x11e0], 0
mov eax, dword [ebp - 0x1bc]
add eax, 0x12
mov dword [ebp - 0x11dc], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x11dc]
movzx edx, byte [ecx]
push edx
call fcn.0048f979
add esp, 4
test eax, eax
je 0x70d453
cmp dword [ebp - 0x11e0], 0x19999998
jbe 0x70d423
jmp 0x70d453
mov eax, dword [ebp - 0x11e0]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x11dc]
movzx edx, byte [ecx]
lea eax, [eax + edx - 0x30]
mov dword [ebp - 0x11e0], eax
mov ecx, dword [ebp - 0x11dc]
add ecx, 1
mov dword [ebp - 0x11dc], ecx
jmp 0x70d3fc
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x11dc]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x11dc]
add ecx, 1
mov dword [ebp - 0x11dc], ecx
cmp eax, 0x29
je 0x70d478
jmp 0x70d69d
mov edx, dword [ebp - 0x11e0]
cmp edx, dword [ebp - 4]
jae 0x70d49e
mov eax, dword [ebp - 0x11e0]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x64]
or edx, 0x4000
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x64], edx
mov ecx, dword [ebp - 0x11dc]
mov dword [ebp - 0x1bc], ecx
jmp 0x70d131
push 3
push 0x7edb40
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x18]
lea ecx, [eax + edx + 2]
push ecx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d4ee
mov edx, dword [ebp - 0x1bc]
add edx, 5
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x11d0], 0x100000
jmp 0x70d65d
push 3
push 0x7edb3c
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax + 2]
push edx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d52d
mov eax, dword [ebp - 0x1bc]
add eax, 5
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x11d0], 0x200000
jmp 0x70d65d
push 5
push str.CRLF_
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x18]
lea eax, [edx + ecx + 2]
push eax
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d56c
mov ecx, dword [ebp - 0x1bc]
add ecx, 7
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x11d0], 0x300000
jmp 0x70d65d
push 4
push str.ANY_
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x18]
lea ecx, [eax + edx + 2]
push ecx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d5ab
mov edx, dword [ebp - 0x1bc]
add edx, 6
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x11d0], 0x400000
jmp 0x70d65d
push 8
push str.ANYCRLF_
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax + 2]
push edx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d5e7
mov eax, dword [ebp - 0x1bc]
add eax, 0xa
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x11d0], 0x500000
jmp 0x70d65d
push 0xc
push str.BSR_ANYCRLF_
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x18]
lea eax, [edx + ecx + 2]
push eax
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d623
mov ecx, dword [ebp - 0x1bc]
add ecx, 0xe
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x11cc], 0x800000
jmp 0x70d65d
push 0xc
push str.BSR_UNICODE_
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x18]
lea ecx, [eax + edx + 2]
push ecx
call fcn.004918be
add esp, 0xc
test eax, eax
jne 0x70d65d
mov edx, dword [ebp - 0x1bc]
add edx, 0xe
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x11cc], 0x1000000
cmp dword [ebp - 0x11d0], 0
je 0x70d679
mov eax, dword [ebp + 0xc]
and eax, 0xff8fffff
or eax, dword [ebp - 0x11d0]
mov dword [ebp + 0xc], eax
jmp 0x70d698
cmp dword [ebp - 0x11cc], 0
je 0x70d696
mov ecx, dword [ebp + 0xc]
and ecx, 0xfe7fffff
or ecx, dword [ebp - 0x11cc]
mov dword [ebp + 0xc], ecx
jmp 0x70d698
jmp 0x70d69d
jmp 0x70d131
mov edx, dword [ebp + 0xc]
and edx, 0x800
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x38], edx
je 0x70d6c6
cmp dword [ebp - 0x1c8], 0
je 0x70d6c6
mov dword [ebp - 0x28], 0x4e
jmp 0x70e0f7
cmp dword [ebp - 0x38], 0
je 0x70d6fd
mov eax, dword [ebp + 0xc]
and eax, 0x2000
jne 0x70d6fd
mov ecx, dword [ebp + 0x18]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp + 8]
push edx
call fcn.00744750
add esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x70d6fd
mov dword [ebp - 0x28], 0x2c
jmp 0x70e0f7
mov eax, dword [ebp + 0xc]
and eax, 0x1800000
cmp eax, 0x1800000
jne 0x70d718
mov dword [ebp - 0x28], 0x38
jmp 0x70e0ec
mov ecx, dword [ebp + 0xc]
and ecx, fcn.00700000
mov dword [ebp - 0x1210], ecx
cmp dword [ebp - 0x1210], 0x300000
jg 0x70d762
cmp dword [ebp - 0x1210], 0x300000
je 0x70d797
cmp dword [ebp - 0x1210], 0
je 0x70d77c
cmp dword [ebp - 0x1210], 0x100000
je 0x70d785
cmp dword [ebp - 0x1210], 0x200000
je 0x70d78e
jmp 0x70d7b2
cmp dword [ebp - 0x1210], 0x400000
je 0x70d7a0
cmp dword [ebp - 0x1210], 0x500000
je 0x70d7a9
jmp 0x70d7b2
mov dword [ebp - 0x10], 0xa
jmp 0x70d7be
mov dword [ebp - 0x10], 0xd
jmp 0x70d7be
mov dword [ebp - 0x10], 0xa
jmp 0x70d7be
mov dword [ebp - 0x10], 0xd0a
jmp 0x70d7be
mov dword [ebp - 0x10], 0xffffffff
jmp 0x70d7be
mov dword [ebp - 0x10], 0xfffffffe
jmp 0x70d7be
mov dword [ebp - 0x28], 0x38
jmp 0x70e0ec
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x70d7d3
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x84], 2
jmp 0x70d84c
cmp dword [ebp - 0x10], 0
jge 0x70d7e8
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x84], 1
jmp 0x70d84c
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x84], 0
cmp dword [ebp - 0x10], 0xff
jle 0x70d833
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x88], 2
mov eax, dword [ebp - 0x10]
sar eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x8c], al
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x8d], dl
jmp 0x70d84c
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x88], 1
mov edx, dword [ebp - 0x14]
mov al, byte [ebp - 0x10]
mov byte [edx + 0x8c], al
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x50], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x40], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x30], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x34], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x7c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x11c8]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x11c8]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x80], 0
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x11c8]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x3c], 0x1000
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x128]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x38], 0x14
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x18], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1214], eax
mov ecx, dword [ebp - 0x1214]
add ecx, 1
mov dword [ebp - 0x1218], ecx
mov edx, dword [ebp - 0x1214]
mov al, byte [edx]
mov byte [ebp - 0x1219], al
add dword [ebp - 0x1214], 1
cmp byte [ebp - 0x1219], 0
jne 0x70d922
mov ecx, dword [ebp - 0x1214]
sub ecx, dword [ebp - 0x1218]
mov dword [ebp - 0x1220], ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x1220]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x58], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x48], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x60], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x11c8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov byte [ecx], 0x83
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp - 0x14]
push eax
push 0
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x1c4]
push edx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x60]
push eax
call fcn.00711130
add esp, 0x3c
cmp dword [ebp - 0x28], 0
je 0x70da02
jmp 0x70e0ec
cmp dword [ebp - 8], 0x10000
jle 0x70da17
mov dword [ebp - 0x28], 0x14
jmp 0x70e0ec
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x30]
imul eax, dword [edx + 0x34]
mov ecx, dword [ebp - 8]
lea edx, [ecx + eax + 0x38]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
push eax
call dword [0x85e828]
add esp, 4
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
jne 0x70da56
mov dword [ebp - 0x28], 0x15
jmp 0x70e0ec
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx], 0x50435245
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x60]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x64]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x14], ecx
xor edx, edx
mov eax, dword [ebp - 0x1c0]
mov word [eax + 0x18], dx
xor ecx, ecx
mov edx, dword [ebp - 0x1c0]
mov word [edx + 0x1a], cx
mov eax, 0x38
mov ecx, dword [ebp - 0x1c0]
mov word [ecx + 0x22], ax
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 0x34]
mov word [edx + 0x24], cx
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 0x30]
mov word [edx + 0x26], cx
xor edx, edx
mov eax, dword [ebp - 0x1c0]
mov word [eax + 0x28], dx
mov ecx, dword [ebp + 0x1c]
sub ecx, 0x800b88
neg ecx
sbb ecx, ecx
and ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x1c0]
mov dword [edx + 0x30], ecx
mov eax, dword [ebp - 0x1c0]
mov dword [eax + 0x34], 0
xor ecx, ecx
mov edx, dword [ebp - 0x1c0]
mov word [edx + 0x2e], cx
xor eax, eax
mov ecx, dword [ebp - 0x1c0]
mov word [ecx + 0x2c], ax
xor edx, edx
mov eax, dword [ebp - 0x1c0]
mov word [eax + 0x2a], dx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x40]
mov dword [ecx + 0x44], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x58], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x5c], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x48], 0
mov edx, dword [ebp - 0x1c0]
movzx eax, word [edx + 0x22]
add eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x1c0]
movzx eax, word [edx + 0x24]
mov ecx, dword [ebp - 0x1c0]
movzx edx, word [ecx + 0x26]
imul eax, edx
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx + 0x2c]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x80], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x68], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x6c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x70], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x74], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x30], 0
jle 0x70dc9d
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x11e4], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x11e8], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x30], 0
jmp 0x70dc50
mov ecx, dword [ebp - 0x11e4]
sub ecx, 1
mov dword [ebp - 0x11e4], ecx
mov edx, dword [ebp - 0x11e8]
add edx, 0xc
mov dword [ebp - 0x11e8], edx
cmp dword [ebp - 0x11e4], 0
jle 0x70dc84
mov eax, dword [ebp - 0x11e8]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x11e8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x11e8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00719e20
add esp, 0x10
jmp 0x70dc32
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x38], 0x14
jle 0x70dc9d
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x28]
push eax
call dword [0x85e82c]
add esp, 4
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0x83
push 0
mov ecx, dword [ebp - 0x14]
push ecx
push 0
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 8]
push ecx
call fcn.00711130
add esp, 0x3c
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 0x40]
mov word [edx + 0x1e], cx
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 0x4c]
mov word [edx + 0x20], cx
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 0x48]
mov word [edx + 0x1c], cx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x64]
or eax, 1
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x6c], 0
je 0x70dd55
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x28], 0
jne 0x70dd6c
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
test ecx, ecx
je 0x70dd6c
mov dword [ebp - 0x28], 0x16
mov edx, dword [ebp - 0x1c]
mov byte [edx], 0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 8]
jle 0x70dd8d
mov dword [ebp - 0x28], 0x17
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
cmp ecx, dword [eax + 0x10]
jbe 0x70dec0
mov dword [ebp - 0x11f0], 0xffffffff
mov dword [ebp - 0x11ec], 0
cmp dword [ebp - 0x28], 0
jne 0x70dec0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
cmp ecx, dword [eax + 0x10]
jbe 0x70dec0
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x20]
sub eax, 2
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x20]
movzx ecx, byte [eax]
shl ecx, 8
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x20]
movzx edx, byte [eax + 1]
or ecx, edx
mov dword [ebp - 0x11f8], ecx
je 0x70de10
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x11f8]
movzx ecx, byte [eax - 1]
cmp ecx, 0x75
je 0x70de1c
mov dword [ebp - 0x28], 0xa
jmp 0x70dec0
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x11f8]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x11f8]
movzx edx, byte [ecx + 1]
or eax, edx
mov dword [ebp - 0x11f4], eax
mov eax, dword [ebp - 0x11f4]
cmp eax, dword [ebp - 0x11f0]
je 0x70de77
mov ecx, dword [ebp - 0x11f4]
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.0070cde0
add esp, 0xc
mov dword [ebp - 0x11ec], eax
mov ecx, dword [ebp - 0x11f4]
mov dword [ebp - 0x11f0], ecx
cmp dword [ebp - 0x11ec], 0
jne 0x70de89
mov dword [ebp - 0x28], 0x35
jmp 0x70debb
mov edx, dword [ebp - 0x11ec]
sub edx, dword [ebp - 0xc]
sar edx, 8
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x11f8]
mov byte [eax], dl
mov ecx, dword [ebp - 0x11ec]
sub ecx, dword [ebp - 0xc]
and ecx, 0xff
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x11f8]
mov byte [edx + 1], cl
jmp 0x70ddb3
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x3c], 0x1000
jle 0x70dedc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
push edx
call dword [0x85e82c]
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], 0
cmp dword [ebp - 0x28], 0
jne 0x70df0b
mov ecx, dword [ebp - 0x1c0]
movzx edx, word [ecx + 0x20]
mov eax, dword [ebp - 0x1c0]
movzx ecx, word [eax + 0x1e]
cmp edx, ecx
jle 0x70df0b
mov dword [ebp - 0x28], 0xf
cmp dword [ebp - 0x28], 0
jne 0x70df3c
mov edx, dword [ebp + 0xc]
and edx, 0x20000
jne 0x70df3c
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x11fc], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x11fc]
push eax
call fcn.0070f080
add esp, 0xc
cmp dword [ebp - 0x28], 0
jne 0x70e0d6
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x74], 0
je 0x70e0d6
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x1200], edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0070cde0
add esp, 0xc
mov dword [ebp - 0x1200], eax
jmp 0x70df91
push 0xffffffffffffffff
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x1200]
push eax
call fcn.0070cde0
add esp, 0xc
mov dword [ebp - 0x1200], eax
cmp dword [ebp - 0x1200], 0
je 0x70e0d6
mov ecx, dword [ebp - 0x1200]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x1200]
movzx ecx, byte [eax + 2]
or edx, ecx
jne 0x70e0c2
mov edx, dword [ebp - 0x1200]
movzx eax, byte [edx - 2]
shl eax, 8
mov ecx, dword [ebp - 0x1200]
movzx edx, byte [ecx - 1]
or eax, edx
mov ecx, dword [ebp - 0x1200]
lea edx, [ecx + eax - 3]
mov dword [ebp - 0x1204], edx
mov eax, dword [ebp - 0x1204]
movzx ecx, byte [eax]
mov dword [ebp - 0x1208], ecx
mov edx, dword [ebp - 0x1204]
mov byte [edx], 0
push 0
mov eax, dword [ebp - 0x14]
push eax
push 1
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ecx + 8]
and edx, 0x800
neg edx
sbb edx, edx
neg edx
push edx
mov eax, dword [ebp - 0x1200]
push eax
call fcn.0070e370
add esp, 0x14
mov dword [ebp - 0x120c], eax
mov ecx, dword [ebp - 0x1204]
mov dl, byte [ebp - 0x1208]
mov byte [ecx], dl
cmp dword [ebp - 0x120c], 0
jge 0x70e081
cmp dword [ebp - 0x120c], 0xfffffffe
jne 0x70e05d
mov dword [ebp - 0x1224], 0x24
jmp 0x70e076
mov eax, dword [ebp - 0x120c]
sub eax, 0xfffffffc
neg eax
sbb eax, eax
and eax, 0xffffffd3
add eax, 0x46
mov dword [ebp - 0x1224], eax
mov ecx, dword [ebp - 0x1224]
mov dword [ebp - 0x28], ecx
jmp 0x70e0d6
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120c]
cmp eax, dword [edx + 0x48]
jle 0x70e09b
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x120c]
mov dword [ecx + 0x48], edx
mov eax, dword [ebp - 0x120c]
sar eax, 8
mov ecx, dword [ebp - 0x1200]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x120c]
and edx, 0xff
mov eax, dword [ebp - 0x1200]
mov byte [eax + 2], dl
mov ecx, dword [ebp - 0x1200]
add ecx, 3
mov dword [ebp - 0x1200], ecx
jmp 0x70df76
cmp dword [ebp - 0x28], 0
je 0x70e11d
mov edx, dword [ebp - 0x1c0]
push edx
call dword [0x85e82c]
add esp, 4
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.0070e320
add esp, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
cmp dword [ebp + 0x10], 0
je 0x70e116
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
mov dword [edx], eax
xor eax, eax
jmp 0x70e31c
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ecx + 8]
and edx, 0x10
jne 0x70e225
push 0
mov eax, dword [ebp - 0x14]
push eax
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00719710
add esp, 0x10
test eax, eax
je 0x70e161
mov edx, dword [ebp - 0x1c0]
mov eax, dword [edx + 8]
or eax, 0x10
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx + 8], eax
jmp 0x70e225
cmp dword [ebp - 0x20], 0
jge 0x70e17c
push 0
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0xc]
push eax
call fcn.00719bd0
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x20], 0
jl 0x70e1f4
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
mov edx, dword [ebp - 0x1c0]
mov word [edx + 0x18], cx
mov eax, dword [ebp - 0x20]
and eax, 1
je 0x70e1dd
mov ecx, 1
test ecx, ecx
je 0x70e1dd
mov edx, dword [ebp - 0x1c0]
movzx eax, word [edx + 0x18]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 4]
movzx eax, byte [edx + eax]
mov ecx, dword [ebp - 0x1c0]
movzx edx, word [ecx + 0x18]
cmp eax, edx
je 0x70e1dd
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 0xc]
or ecx, 0x20
mov edx, dword [ebp - 0x1c0]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 0xc]
or ecx, 0x10
mov edx, dword [ebp - 0x1c0]
mov dword [edx + 0xc], ecx
jmp 0x70e225
push 0
push 0
mov eax, dword [ebp - 0x14]
push eax
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00719910
add esp, 0x14
test eax, eax
je 0x70e225
mov edx, dword [ebp - 0x1c0]
mov eax, dword [edx + 0xc]
or eax, 0x100
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
cmp dword [ebp - 0x34], 0
jl 0x70e2bb
mov edx, dword [ebp - 0x1c0]
mov eax, dword [edx + 8]
and eax, 0x10
je 0x70e245
mov ecx, dword [ebp - 0x34]
and ecx, 2
je 0x70e2bb
mov edx, dword [ebp - 0x1c4]
and edx, 0xff
mov eax, dword [ebp - 0x1c0]
mov word [eax + 0x1a], dx
mov ecx, dword [ebp - 0x34]
and ecx, 1
je 0x70e2a6
mov edx, 1
test edx, edx
je 0x70e2a6
mov eax, dword [ebp - 0x1c0]
movzx ecx, word [eax + 0x1a]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp - 0x1c0]
movzx eax, word [edx + 0x1a]
cmp ecx, eax
je 0x70e2a6
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ecx + 0xc]
or edx, 0x80
mov eax, dword [ebp - 0x1c0]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ecx + 0xc]
or edx, 0x40
mov eax, dword [ebp - 0x1c0]
mov dword [eax + 0xc], edx
push 0
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0070e8c0
add esp, 0x14
test eax, eax
je 0x70e2f2
mov edx, dword [ebp - 0x1c0]
mov eax, dword [edx + 0xc]
or eax, 0x8000
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx + 0xc], eax
jmp 0x70e316
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x70e2bb
mov eax, dword [ebp - 0x1c0]
mov esp, ebp
pop ebp
ret