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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1fc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x1104]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x122c]
imul edx, eax, 0x490
mov edi, eax
mov dword [ebp - 0xa0], eax
lea eax, [edx + 0x10]
call fcn.703e0830
sub esp, eax
lea eax, [esp + 0x17]
mov dword [ebp - 0x1cc], eax
shr dword [ebp - 0x1cc], 2
mov eax, dword [ebp - 0x1cc]
shl eax, 2
mov dword [ebp - 0x158], eax
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.6fef7ef0
test edi, edi
jle 0x7034e35a
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x9c], 0
mov eax, dword [eax + 0x1100]
movsx edi, byte [edi + 0x22]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], edi
mov ebx, dword [eax + 0x1208]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xb0], ebx
mov eax, dword [eax + ebx*4 + 0x4fc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
add eax, 0xf00
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp + 0xc]
add eax, 0x10c0
mov dword [ebp - 0x1d4], eax
jmp 0x7034c621
test edi, 2
jne 0x7034c690
mov ecx, ebx
shr ecx, 2
test bl, 2
rep movsd dword es:[edi], dword [esi]
je 0x7034c597
movzx ecx, word [esi]
mov word [edi], cx
mov ecx, 2
and ebx, 1
je 0x7034c5a3
movzx ebx, byte [esi + ecx]
mov byte [edi + ecx], bl
mov ebx, dword [eax]
add edx, 0x490
add dword [ebp - 0x9c], 1
mov edi, dword [ebp - 0xa0]
mov dword [edx - 0x50], ebx
mov ebx, dword [eax + 4]
mov dword [edx - 0x4c], ebx
mov ebx, dword [eax + 8]
mov dword [edx - 0x48], ebx
mov ebx, dword [eax + 0xc]
mov dword [edx - 0x44], ebx
mov ebx, dword [eax + 0x10]
mov dword [edx - 0x40], ebx
mov ebx, dword [eax + 0x14]
mov dword [edx - 0x3c], ebx
mov ebx, dword [eax + 0x18]
mov dword [edx - 0x38], ebx
mov ebx, dword [eax + 0x1c]
mov dword [edx - 0x34], ebx
mov ebx, dword [eax + 0x20]
mov dword [edx - 0x30], ebx
mov ebx, dword [eax + 0x24]
mov dword [edx - 0x2c], ebx
mov ebx, dword [eax + 0x28]
mov dword [edx - 0x28], ebx
mov ebx, dword [eax + 0x2c]
mov dword [edx - 0x24], ebx
mov ebx, dword [eax + 0x30]
mov dword [edx - 0x20], ebx
mov ebx, dword [eax + 0x34]
mov dword [edx - 0x1c], ebx
mov ebx, dword [eax + 0x38]
mov dword [edx - 0x18], ebx
mov ebx, dword [eax + 0x3c]
mov dword [edx - 0x14], ebx
cmp dword [ebp - 0x9c], edi
je 0x7034c6a5
mov edi, dword [ebp - 0xa4]
mov ebx, pe_nt_image_headers32
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0xac]
mov dword [edx + 0x48c], 0
mov esi, dword [ebp - 0x1c0]
mov dword [edx + 0x480], edi
mov edi, dword [ebp - 0xa8]
and ecx, 3
test dl, 1
mov dword [edx + 0x484], ecx
mov dword [edx + 0x488], ecx
mov dword [edx + 0x3c0], edi
mov edi, edx
je 0x7034c574
movzx ecx, byte [esi]
lea edi, [edx + 1]
mov ebx, 0x7f
test edi, 2
lea esi, [esi + 1]
mov byte [edx], cl
je 0x7034c580
movzx ecx, word [esi]
add edi, 2
add esi, 2
sub ebx, 2
mov word [edi - 2], cx
jmp 0x7034c580
mov ebx, dword [ebp - 0xb0]
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x10]
movzx eax, byte [eax + 0x1d]
movsx edx, byte [edi + 0x1e]
mov ecx, eax
sar cl, 1
movsx ecx, cl
lea edx, [edx + ecx*2]
movsx edi, word [edx + edx + 0x708b3804]
mov dword [ebp - 0xf4], edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x1204]
mov edi, 0x20
cmp ecx, 0x20
cmovle edi, ecx
cmp al, 2
mov dword [ebp - 0x15c], edi
je 0x7034dfe0
mov esi, dword [ebp - 0x16c]
test esi, esi
jle 0x7034c717
mov eax, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x15c]
sub eax, 3
cmp edi, eax
cmovle eax, edi
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x11fc]
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x1f], 4
setne al
movzx eax, al
mov edi, eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x1200]
add esi, ebx
lea eax, [esi*4 + 0x12]
and eax, 0xfffffff0
call fcn.703e0830
sub esp, eax
lea eax, [esp + 0x14]
mov dword [ebp - 0x17c], eax
lea eax, [esi + esi + 0x10]
and eax, 0xfffffff0
call fcn.703e0830
sub esp, eax
lea eax, [ecx*4 + 0x12]
lea esi, [esp + 0x14]
and eax, 0xfffffff0
mov dword [ebp - 0x1dc], esi
call fcn.703e0830
sub esp, eax
test edx, edx
lea esi, [esp + 0x14]
mov dword [ebp - 0x164], esi
mov esi, dword [ebp + 0xc]
lea esi, [esi + ebx*2]
mov dword [ebp - 0x1b0], esi
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x110c], ebx
mov dword [esi + 0x1108], ebx
jle 0x7034e03f
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x1d8], 1
mov dword [ebp - 0x1d0], 3
sub dword [ebp - 0x1d8], edi
add edi, edi
sub dword [ebp - 0x1d0], edi
lea edi, [eax + 0x3b0]
mov esi, edi
mov dword [ebp - 0x174], edi
movsx edi, word [ebp + 0x3c]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x19c], 0
mov ebx, edi
mov dword [ebp - 0x14c], edi
mov edi, eax
imul eax, ebx
lea edi, [edi - 0x3b0]
mov dword [ebp - 0x1b4], edi
neg edi
mov dword [ebp - 0x168], eax
movsx eax, si
mov esi, eax
movsx eax, di
mov edi, eax
mov eax, dword [ebp - 0x17c]
imul edi, ebx
imul esi, ebx
add eax, 8
mov dword [ebp - 0x1b8], edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x184], edi
mov edi, dword [ebp + 0x20]
mov dword [ebp - 0x1bc], edi
mov edi, dword [ebp - 0x15c]
add edi, edi
mov dword [ebp - 0x1c4], edi
movsx edi, word [ebp + 0x40]
neg dword [ebp - 0x1c4]
mov dword [ebp - 0x1e4], edi
mov edi, dword [ebp - 0x19c]
mov ebx, dword [ebp + 0x28]
mov eax, edi
sar eax, 1
or eax, dword [ebp - 0x1d8]
shl eax, 5
add eax, dword [ebp + 0x1c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + edi*4]
mov edx, eax
sar eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0xc]
sar edx, 2
shl dword [ebp - 0xbc], 0x10
or dword [ebp - 0xbc], edx
mov dword [eax + 0x1118], 0
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x1d]
cmp al, 2
mov byte [ebp - 0xc4], al
je 0x7034de77
mov ebx, dword [ebp + 0x38]
mov dword [ebp - 0xb8], 0
mov eax, dword [ebx + edi*4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x1108]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x19c]
mov eax, dword [eax + 0x122c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0x34]
mov eax, dword [eax + edi*4]
mov edi, eax
test edi, edi
mov dword [ebp - 0xa8], eax
mov eax, 1
cmovg eax, edi
bsr esi, eax
xor esi, 0x1f
lea ecx, [esi - 1]
shl eax, cl
mov ebx, eax
mov ecx, eax
mov eax, 0x1fffffff
sar ecx, 0x10
cdq
idiv ecx
movsx edx, ax
mov edi, eax
movzx eax, bx
mov ebx, edi
imul eax, edx
imul ecx, edx
shl ebx, 0x10
mov dword [ebp - 0x9c], ebx
sar edi, 0xf
sar eax, 0x10
add eax, ecx
shl eax, 3
neg eax
mov ecx, eax
sar ecx, 0x10
imul ecx, edx
mov ebx, ecx
movzx ecx, ax
imul edx, ecx
mov ecx, edi
add ecx, 1
sar ecx, 1
imul eax, ecx
mov ecx, 0xf
sar edx, 0x10
sub ecx, esi
add edx, ebx
add edx, dword [ebp - 0x9c]
test ecx, ecx
lea ebx, [edx + eax]
jle 0x7034ddb1
cmp ecx, 0x1f
jg 0x7034dda0
sar ebx, cl
mov edi, ebx
sar edi, 7
add edi, 1
mov dword [ebp - 0xa4], ebx
sar edi, 1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x9c], 0x10000
mov eax, dword [eax + 0x1114]
cmp dword [ebp - 0xa8], eax
je 0x7034cabc
mov ecx, eax
sar ecx, 0x1f
mov edx, ecx
xor edx, eax
sub edx, ecx
je 0x7034dd8c
bsr edx, edx
xor edx, 0x1f
lea ebx, [edx + 0x1c]
lea ecx, [edx - 1]
mov dword [ebp - 0xa0], ebx
shl eax, cl
mov esi, 0x1f
mov ebx, eax
mov eax, dword [ebp - 0xa8]
mov edx, eax
sar edx, 0x1f
xor eax, edx
sub eax, edx
je 0x7034ca35
bsr eax, eax
xor eax, 0x1f
lea esi, [eax - 1]
mov eax, dword [ebp - 0xa8]
mov ecx, esi
shl eax, cl
mov dword [ebp - 0xc0], eax
mov ecx, eax
mov eax, 0x1fffffff
sar ecx, 0x10
cdq
idiv ecx
mov edx, ebx
sar edx, 0x10
movsx ecx, ax
movzx eax, bx
imul eax, ecx
imul edx, ecx
sar eax, 0x10
add edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x9c], edx
imul edx
mov eax, edx
shl eax, 3
sub ebx, eax
mov eax, ebx
sar ebx, 0x10
movzx eax, ax
mov edx, ebx
imul edx, ecx
imul ecx, eax
mov eax, dword [ebp - 0x9c]
sar ecx, 0x10
add edx, ecx
mov ecx, dword [ebp - 0xa0]
lea ebx, [eax + edx]
sub ecx, esi
sub ecx, 0x10
js 0x7034deeb
sar ebx, cl
xor eax, eax
cmp ecx, 0x1f
cmovg ebx, eax
mov dword [ebp - 0x9c], ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1204]
test eax, eax
mov dword [ebp - 0x160], eax
jle 0x7034cb18
movsx esi, di
xor edx, edx
sar edi, 0xf
add edi, 1
sar edi, 1
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp + 0x14]
mov ecx, dword [edi + edx*4]
mov ebx, ecx
movzx eax, cx
sar ebx, 0x10
imul eax, esi
imul ebx, esi
imul ecx, dword [ebp - 0xa0]
sar eax, 0x10
add eax, ebx
mov ebx, dword [ebp - 0x164]
add eax, ecx
mov dword [ebx + edx*4], eax
add edx, 1
cmp edx, dword [ebp - 0x160]
jne 0x7034cae5
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0xa8]
test ecx, ecx
mov dword [eax + 0x1114], edi
je 0x7034cbb5
mov edx, dword [ebp - 0x19c]
test edx, edx
jne 0x7034cb67
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x1e4]
mov edx, eax
movzx eax, ax
sar edx, 0x10
imul eax, edi
imul edx, edi
sar eax, 0x10
add eax, edx
shl eax, 2
mov dword [ebp - 0xa4], eax
mov edi, dword [ebp - 0xac]
mov eax, edi
sub eax, dword [ebp - 0xb0]
sub eax, 2
cmp eax, edi
jge 0x7034cbb5
mov edi, dword [ebp - 0xa4]
mov esi, edi
movzx ebx, di
mov edi, dword [ebp - 0x1dc]
sar esi, 0x10
movsx edx, word [edi + eax*2]
mov ecx, edx
imul edx, ebx
imul ecx, esi
sar edx, 0x10
add edx, ecx
mov ecx, dword [ebp - 0x17c]
mov dword [ecx + eax*4], edx
add eax, 1
cmp eax, dword [ebp - 0xac]
jne 0x7034cb90
cmp dword [ebp - 0x9c], 0x10000
je 0x7034dec8
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 0x110c]
mov edi, eax
mov dword [ebp - 0xc0], eax
sub eax, dword [ebx + 0x1208]
cmp edi, eax
jle 0x7034cc41
mov ebx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xc0]
mov edi, ebx
sar edi, 0x10
mov dword [ebp - 0xa0], edi
movzx edi, bx
mov ebx, dword [ebp + 0xc]
lea eax, [ebx + eax*4 + 0x500]
lea esi, [ebx + esi*4 + 0x500]
nop
mov ecx, dword [eax]
add eax, 4
mov ebx, dword [ebp - 0xa0]
movsx edx, cx
imul ebx, edx
sar ecx, 0xf
imul edx, edi
add ecx, 1
sar ecx, 1
imul ecx, dword [ebp - 0x9c]
sar edx, 0x10
add edx, ebx
add edx, ecx
mov dword [eax - 4], edx
cmp eax, esi
jne 0x7034cc10
cmp byte [ebp - 0xc4], 2
je 0x7034ddeb
mov eax, dword [ebp - 0xf0]
test eax, eax
jle 0x7034cdd8
mov edi, dword [ebp - 0x9c]
mov eax, edi
sar eax, 0x10
mov dword [ebp - 0xa0], eax
movzx eax, di
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0xa4], eax
imul eax, dword [ebp - 0xf0], 0x490
mov ecx, edi
add eax, edi
mov dword [ebp - 0xb0], eax
mov ebx, dword [ecx + 0x480]
mov edx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xa4]
movsx eax, bx
imul edx, eax
imul eax, edi
sar ebx, 0xf
sar eax, 0x10
add eax, edx
lea edx, [ebx + 1]
sar edx, 1
imul edx, dword [ebp - 0x9c]
add eax, edx
mov dword [ecx + 0x480], eax
xor eax, eax
lea esi, [esi]
mov ebx, dword [ecx + eax*4]
mov esi, dword [ebp - 0xa0]
movsx edx, bx
imul esi, edx
sar ebx, 0xf
imul edx, edi
add ebx, 1
sar ebx, 1
imul ebx, dword [ebp - 0x9c]
sar edx, 0x10
add edx, esi
add edx, ebx
mov dword [ecx + eax*4], edx
add eax, 1
cmp eax, 0x20
jne 0x7034ccd0
mov edi, dword [ebp - 0xa4]
xor al, al
nop
lea esi, [esi]
mov ebx, dword [ecx + eax*4 + 0x440]
mov esi, dword [ebp - 0xa0]
movsx edx, bx
imul esi, edx
sar ebx, 0xf
imul edx, edi
add ebx, 1
sar ebx, 1
imul ebx, dword [ebp - 0x9c]
sar edx, 0x10
add edx, esi
add edx, ebx
mov dword [ecx + eax*4 + 0x440], edx
add eax, 1
cmp eax, 0x10
jne 0x7034cd10
mov esi, dword [ebp - 0xa4]
lea eax, [ecx + 0x340]
xor ebx, ebx
mov dword [ebp - 0xa8], ecx
nop
mov ecx, dword [eax]
add ebx, 1
add eax, 4
mov edi, dword [ebp - 0xa0]
movsx edx, cx
imul edi, edx
sar ecx, 0xf
imul edx, esi
add ecx, 1
sar ecx, 1
imul ecx, dword [ebp - 0x9c]
sar edx, 0x10
add edx, edi
mov edi, dword [ebp - 0xa0]
add edx, ecx
mov ecx, dword [eax + 0x7c]
mov dword [eax - 4], edx
movsx edx, cx
imul edi, edx
sar ecx, 0xf
imul edx, esi
add ecx, 1
sar ecx, 1
imul ecx, dword [ebp - 0x9c]
sar edx, 0x10
add edx, edi
add edx, ecx
mov dword [eax + 0x7c], edx
cmp ebx, 0x20
jne 0x7034cd60
mov ecx, dword [ebp - 0xa8]
add ecx, 0x490
cmp ecx, dword [ebp - 0xb0]
jne 0x7034cc90
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x34]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x1e0], esp
mov eax, dword [eax + 0x1260]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1238]
mov ebx, eax
mov dword [ebp - 0x128], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1234]
mov edi, eax
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x19c]
mov esi, dword [esi + eax*4]
mov dword [ebp - 0x180], esi
mov esi, dword [ebp + 0x30]
mov esi, dword [esi + eax*4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x194], eax
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x1d]
mov byte [ebp - 0x185], al
mov eax, dword [ebp - 0xf0]
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + 0x10]
call fcn.703e0830
mov ecx, dword [ebp + 0xc]
sar dword [ebp - 0x180], 6
sub esp, eax
lea eax, [esp + 0x14]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0x16c]
lea ecx, [ecx + eax*4 + 0x504]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x17c]
sub eax, dword [ebp - 0x16c]
lea ecx, [ecx + eax*4 + 8]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1a8], ecx
test eax, eax
jle 0x7034d88b
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x154], 0
test eax, eax
mov eax, ecx
setg byte [ebp - 0x186]
sar eax, 0x10
mov dword [ebp - 0x1a0], eax
mov eax, ebx
mov ebx, dword [ebp - 0x184]
sar eax, 1
mov dword [ebp - 0x138], eax
mov eax, edi
sar eax, 1
mov dword [ebp - 0x13c], eax
mov eax, edi
lea edi, [ebx + edi*2 - 2]
mov dword [ebp - 0x198], edi
sar esi, 0x10
imul edi, dword [ebp - 0xf0], 0x490
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x134], edi
lea edi, [eax*4 - 0xc]
mov dword [ebp - 0x18c], edi
mov edi, dword [ebp - 0x158]
and dword [ebp - 0x18c], 0xfffffff8
mov dword [ebp - 0xfc], edx
lea ebx, [edi + eax*4 - 4]
movsx eax, cx
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1a4], eax
movsx eax, word [ebp - 0x9c]
add ebx, dword [ebp - 0x1c4]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0x1ac], ebx
mov dword [ebp - 0x9c], eax
lea esi, [esi]
cmp byte [ebp - 0x185], 2
mov dword [ebp - 0xc8], 0
je 0x7034dc91
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0xf8], 0
test eax, eax
jle 0x7034d005
mov ebx, dword [ebp - 0x170]
add dword [ebp - 0x170], 4
mov eax, dword [ebx]
add eax, dword [ebx - 8]
mov ecx, dword [ebx - 4]
mov ebx, dword [ebp - 0x1a4]
mov edx, eax
movzx eax, ax
sar edx, 0x10
imul eax, ebx
imul edx, ebx
mov ebx, dword [ebp - 0x1a0]
sar eax, 0x10
add edx, eax
mov eax, ecx
sar eax, 0x10
imul eax, ebx
add edx, eax
movzx eax, cx
imul eax, ebx
mov ebx, dword [ebp - 0xc8]
sar eax, 0x10
add eax, edx
shl eax, 2
sub ebx, eax
mov dword [ebp - 0xf8], ebx
mov eax, dword [ebp - 0xf0]
test eax, eax
jle 0x7034dd3c
movsx eax, word [ebp - 0x194]
mov edi, dword [ebp - 0xc4]
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x114], eax
movsx eax, word [ebp - 0x190]
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x110], ecx
movsx ebx, word [eax]
mov dword [ebp - 0x100], ebx
movsx ebx, word [eax + 2]
mov dword [ebp - 0xcc], ebx
movsx ebx, word [eax + 4]
mov dword [ebp - 0xd0], ebx
movsx ebx, word [eax + 6]
mov dword [ebp - 0xd4], ebx
movsx ebx, word [eax + 8]
mov dword [ebp - 0xd8], ebx
movsx ebx, word [eax + 0xa]
mov dword [ebp - 0xdc], ebx
movsx ebx, word [eax + 0xc]
mov dword [ebp - 0xe0], ebx
movsx ebx, word [eax + 0xe]
mov dword [ebp - 0x104], ebx
movsx ebx, word [eax + 0x10]
movsx eax, word [eax + 0x12]
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x184]
movsx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x10c], ebx
mov ebx, edi
add ebx, 0x18
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0x154]
mov dword [ebp - 0xbc], ebx
mov ebx, dword [ebp - 0xb8]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], 0
add ebx, 0x7c
mov dword [ebp - 0x120], ebx
mov ebx, dword [ebp - 0x198]
add eax, 8
mov dword [ebp - 0x148], eax
movsx ebx, word [ebx]
mov dword [ebp - 0x124], ebx
mov ebx, dword [ebp - 0x164]
mov ebx, dword [ebx + edi*4]
mov dword [ebp - 0x11c], ebx
mov ebx, dword [ebp - 0xac]
imul eax, dword [ebx + 0x484], 0xbb38435
add eax, 0x3619636b
mov edi, eax
mov dword [ebp - 0xc0], eax
mov eax, ebx
mov ebx, dword [ebp - 0x120]
mov dword [eax + 0x484], edi
mov edi, dword [ebp - 0xa8]
mov esi, dword [ebx + edi]
mov ebx, dword [ebp - 0x100]
mov ecx, esi
movzx eax, si
imul eax, ebx
sar ecx, 0x10
imul ecx, ebx
mov ebx, dword [ebp - 0xb8]
sar eax, 0x10
add ecx, eax
mov eax, dword [ebx + edi + 0x78]
add ecx, dword [ebp - 0x138]
mov edx, eax
movzx eax, ax
imul eax, dword [ebp - 0xcc]
sar edx, 0x10
imul edx, dword [ebp - 0xcc]
sar eax, 0x10
add eax, edx
add ecx, eax
mov eax, dword [ebx + edi + 0x74]
mov edx, eax
movzx eax, ax
imul eax, dword [ebp - 0xd0]
sar edx, 0x10
imul edx, dword [ebp - 0xd0]
sar eax, 0x10
add eax, edx
add ecx, eax
mov eax, dword [ebx + edi + 0x70]
mov edx, eax
movzx eax, ax
imul eax, dword [ebp - 0xd4]
sar edx, 0x10
imul edx, dword [ebp - 0xd4]
sar eax, 0x10
add eax, edx
add ecx, eax
mov eax, dword [ebx + edi + 0x6c]
mov edx, eax
movzx eax, ax
imul eax, dword [ebp - 0xd8]
sar edx, 0x10
imul edx, dword [ebp - 0xd8]
sar eax, 0x10
add eax, edx
add ecx, eax
mov eax, dword [ebx + edi + 0x68]
mov edx, eax
movzx eax, ax
sar edx, 0x10
imul edx, dword [ebp - 0xdc]
imul eax, dword [ebp - 0xdc]
sar eax, 0x10
add edx, eax
mov eax, dword [ebx + edi + 0x64]
add ecx, edx
mov edx, eax
movzx eax, ax
imul eax, dword [ebp - 0xe0]
sar edx, 0x10
imul edx, dword [ebp - 0xe0]
sar eax, 0x10
add edx, eax
mov eax, dword [ebx + edi + 0x60]
mov ebx, dword [ebp - 0x104]
add edx, ecx
mov ecx, eax
movzx eax, ax
imul eax, ebx
sar ecx, 0x10
imul ecx, ebx
sar eax, 0x10
lea ebx, [ecx + eax]
add ebx, edx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + edi + 0x5c]
mov ecx, eax
movzx eax, ax
imul eax, dword [ebp - 0xe4]
sar ecx, 0x10
imul ecx, dword [ebp - 0xe4]
sar eax, 0x10
add eax, ecx
add ebx, eax
mov eax, dword [edx + edi + 0x58]
mov edi, dword [ebp - 0x108]
mov ecx, eax
movzx eax, ax
sar ecx, 0x10
imul eax, edi
imul ecx, edi
sar eax, 0x10
lea edx, [ecx + eax]
add edx, ebx
cmp dword [ebp - 0x128], 0x10
je 0x7034d9a5
mov edi, dword [ebp - 0xac]
shl edx, 4
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x9c]
mov ebx, dword [edi + 0x440]
mov ecx, ebx
movzx eax, bx
imul eax, edx
sar ecx, 0x10
imul ecx, edx
sar eax, 0x10
add ecx, eax
add ecx, esi
mov esi, edi
mov edi, dword [edi + 0x444]
mov dword [esi + 0x440], ecx
mov eax, edi
sub eax, ecx
mov edx, eax
movzx eax, ax
imul eax, dword [ebp - 0x9c]
sar edx, 0x10
imul edx, dword [ebp - 0x9c]
sar eax, 0x10
add edx, eax
mov eax, ecx
add edx, ebx
mov ebx, dword [ebp - 0x10c]
movzx ecx, cx
sar eax, 0x10
imul ecx, ebx
imul eax, ebx
mov ebx, dword [ebp - 0x13c]
sar ecx, 0x10
add eax, ecx
add ebx, eax
cmp dword [ebp - 0x12c], 2
jle 0x7034d42c
mov eax, esi
add esi, dword [ebp - 0x148]
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa4], esi
mov esi, dword [ebp - 0x144]
mov ebx, esi
jmp 0x7034d376
mov edi, dword [eax + 0x444]
mov ecx, dword [eax + 0x448]
add ebx, 4
add eax, 8
mov dword [eax + 0x43c], edx
sub ecx, edx
mov esi, ecx
movzx ecx, cx
imul ecx, dword [ebp - 0x9c]
sar esi, 0x10
imul esi, dword [ebp - 0x9c]
sar ecx, 0x10
add ecx, esi
movsx esi, word [ebx - 4]
add ecx, edi
mov edi, edx
movzx edx, dx
sar edi, 0x10
imul edx, esi
imul edi, esi
sar edx, 0x10
add edx, edi
mov edi, dword [ebp - 0x9c]
add edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
mov edx, dword [eax + 0x444]
sub edx, ecx
mov esi, edx
movzx edx, dx
imul edx, edi
sar esi, 0x10
imul esi, edi
movsx edi, word [ebx - 2]
sar edx, 0x10
add edx, esi
mov esi, ecx
add edx, dword [eax + 0x440]
mov dword [eax + 0x440], ecx
movzx ecx, cx
sar esi, 0x10
imul ecx, edi
imul esi, edi
sar ecx, 0x10
add ecx, esi
add ecx, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], ecx
jne 0x7034d370
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x130]
mov eax, dword [ebp - 0xa8]
mov dword [edi + eax + 0x440], edx
mov edi, edx
movzx edx, dx
sar edi, 0x10
mov eax, edi
mov edi, dword [ebp - 0x124]
imul edx, edi
imul eax, edi
sar edx, 0x10
lea esi, [eax + edx]
mov eax, dword [ebp - 0x114]
add esi, ebx
mov ebx, dword [ebp - 0xac]
mov edx, dword [ebx + 0x480]
mov ebx, eax
mov ecx, edx
movzx edx, dx
sar ecx, 0x10
imul eax, edx
imul ebx, ecx
sar eax, 0x10
add eax, ebx
mov ebx, dword [ebp - 0x110]
lea eax, [eax + esi*2]
mov esi, dword [ebp - 0x118]
shl eax, 2
mov edi, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebx + eax + 0x3c0]
mov ebx, eax
movzx eax, ax
sar ebx, 0x10
imul eax, esi
imul ebx, esi
sar eax, 0x10
add eax, ebx
mov ebx, dword [ebp - 0x140]
imul ecx, ebx
imul edx, ebx
mov ebx, dword [ebp - 0xf4]
add eax, ecx
sar edx, 0x10
add eax, edx
mov edx, edi
mov edi, dword [ebp - 0xc0]
shl eax, 2
add edx, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xf8]
sub eax, edx
mov edx, dword [ebp - 0x11c]
sar eax, 3
add eax, 1
sar eax, 1
sub edx, eax
mov eax, edx
neg eax
test edi, edi
cmovs edx, eax
mov eax, 0xffff8400
cmp edx, 0xffff8400
cmovge eax, edx
mov edx, 0x7800
cmp eax, 0x7800
cmovle edx, eax
mov eax, edx
sub eax, ebx
mov ecx, eax
sar ecx, 0xa
cmp ecx, 0
jle 0x7034daa6
mov esi, dword [ebp - 0x14c]
shl ecx, 0xa
lea eax, [ebx + ecx - 0x50]
lea edi, [eax + 0x400]
movsx ebx, ax
movsx ecx, di
imul ebx, esi
imul ecx, esi
mov esi, edx
sub esi, eax
sub edx, edi
movsx esi, si
movsx edx, dx
imul esi, esi
imul edx, edx
add esi, ebx
mov ebx, dword [ebp - 0xac]
add edx, ecx
sar esi, 0xa
sar edx, 0xa
cmp esi, edx
mov ecx, dword [ebx + 0x48c]
jge 0x7034d927
mov ebx, dword [ebp - 0xb4]
add esi, ecx
add edx, ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebx + 4], esi
mov esi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xbc]
sub ebx, dword [ebp - 0xc4]
mov dword [ebx + ecx - 0x14], edx
mov dword [esi], eax
mov esi, dword [ebp - 0xc0]
shl eax, 4
mov dword [ebx + ecx - 0x18], edi
test esi, esi
js 0x7034d967
mov ebx, dword [ebp - 0xb0]
shl edi, 4
add eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xb4]
lea edx, [ebx + eax]
mov ecx, edx
sub ecx, dword [ebp - 0xa0]
mov dword [esi + 0x14], eax
mov dword [esi + 8], edx
mov ebx, ecx
sub ebx, dword [ebp - 0xa4]
mov dword [esi + 0xc], ecx
mov ecx, edi
mov dword [esi + 0x10], ebx
mov edx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xbc]
add edx, ecx
mov ebx, edx
sub ebx, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xc4]
add dword [ebp - 0xa8], 0x490
mov esi, ebx
sub esi, dword [ebp - 0xa4]
mov dword [eax + edi - 0xc], ebx
mov dword [eax + edi - 4], ecx
mov dword [eax + edi - 8], esi
mov dword [eax + edi - 0x10], edx
mov eax, dword [ebp - 0x134]
add dword [ebp - 0xac], 0x490
add dword [ebp - 0xbc], 0x30
add dword [ebp - 0xb4], 0x30
cmp dword [ebp - 0xa8], eax
jne 0x7034d132
sub dword [ebp - 0x150], 1
and dword [ebp - 0x150], 0x1f
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x150]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xc4]
and dword [ebp - 0xa4], 0x1f
cmp edi, 1
mov ebx, dword [eax + 4]
jle 0x7034e543
mov edx, eax
xor esi, esi
mov eax, 1
nop
mov ecx, dword [edx + 0x34]
cmp ecx, ebx
jge 0x7034d6cb
mov ebx, ecx
mov esi, eax
add eax, 1
add edx, 0x30
cmp eax, edi
jne 0x7034d6c0
mov eax, dword [ebp - 0xa4]
imul esi, esi, 0x490
add esi, dword [ebp - 0x158]
add eax, 0x70
mov ecx, dword [esi + eax*4]
mov dword [ebp - 0xa8], esi
mov ebx, dword [ebp - 0x158]
lea edx, [ebx + eax*4]
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xfc]
cmp ecx, dword [edx]
je 0x7034d71a
add dword [eax + 4], 0x7ffffff
add dword [eax + 0x1c], 0x7ffffff
add eax, 0x30
add edx, 0x490
cmp eax, ebx
jne 0x7034d708
mov eax, dword [ebp - 0xc4]
xor edi, edi
cmp dword [ebp - 0xf0], 1
mov dword [ebp - 0xa0], 0
mov esi, dword [eax + 4]
mov ebx, dword [eax + 0x1c]
jle 0x7034d778
mov edx, 1
lea esi, [esi]
mov ecx, dword [eax + 0x34]
cmp ecx, esi
jle 0x7034d75b
mov esi, ecx
mov edi, edx
mov ecx, dword [eax + 0x4c]
cmp ecx, ebx
jge 0x7034d76a
mov ebx, ecx
mov dword [ebp - 0xa0], edx
add edx, 1
add eax, 0x30
cmp edx, dword [ebp - 0xf0]
jne 0x7034d750
cmp ebx, esi
jl 0x7034dc09
mov eax, dword [ebp - 0x154]
cmp dword [ebp - 0x15c], eax
jle 0x7034db11
cmp byte [ebp - 0x186], 0
jne 0x7034db11
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x110c]
mov eax, dword [eax + 0x1108]
mov ebx, dword [ebp + 0xc]
add edx, 1
add eax, 1
mov dword [ebx + 0x110c], edx
mov dword [ebx + 0x1108], eax
mov ebx, dword [ebp - 0xf0]
test ebx, ebx
jle 0x7034d858
mov eax, dword [ebp - 0x158]
mov ebx, dword [ebp - 0x150]
mov edx, eax
lea ecx, [eax + ebx*4 + 0x2c0]
mov ebx, dword [ebp - 0x154]
mov eax, dword [ebp - 0xc4]
lea edi, [ebx + 0x20]
mov ebx, dword [eax + 0xc]
add ecx, 0x490
add eax, 0x30
mov esi, dword [eax - 0x1c]
mov dword [edx + 0x480], ebx
mov ebx, dword [eax - 0x28]
add esi, esi
mov dword [edx + edi*4], ebx
add edx, 0x490
mov dword [ecx - 0x490], ebx
mov ebx, dword [eax - 0x30]
mov dword [ecx - 0x410], esi
mov esi, dword [eax - 0x20]
mov dword [ecx - 0x510], ebx
sar ebx, 9
add ebx, 1
mov dword [ecx - 0x390], esi
sar ebx, 1
add ebx, dword [edx - 0xc]
mov dword [edx - 0xc], ebx
mov dword [ecx - 0x590], ebx
mov ebx, dword [eax - 0x2c]
mov dword [edx - 4], ebx
cmp dword [ebp - 0xfc], eax
jne 0x7034d7f5
mov eax, dword [ebp - 0x150]
mov ebx, dword [ebp - 0x180]
add dword [ebp - 0x154], 1
add dword [ebp - 0xb8], 4
mov dword [ebp + eax*4 - 0x98], ebx
mov eax, dword [ebp - 0x160]
cmp dword [ebp - 0x154], eax
jne 0x7034cf80
mov ebx, dword [ebp - 0x160]
xor edx, edx
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x158]
shl ebx, 2
test ecx, ecx
jle 0x7034d8c2
lea esi, [eax + ebx]
mov edi, eax
add edx, 1
add eax, 0x490
cmp edx, dword [ebp - 0xf0]
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
jne 0x7034d8a6
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
add dword [ebp - 0x19c], 1
mov ebx, dword [ebp - 0x19c]
mov eax, dword [eax + 0x1204]
add dword [ebp + 0x18], eax
add dword [ebp - 0x184], 0x20
add dword [ebp - 0x1bc], 0xa
lea edi, [edi + eax*4]
mov esp, dword [ebp - 0x1e0]
mov dword [ebp + 0x14], edi
mov edi, dword [ebp - 0x1b0]
lea eax, [edi + eax*2]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x11fc], ebx
jle 0x7034e049
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0xb4], eax
jmp 0x7034c87f
mov ebx, dword [ebp - 0xb4]
add edx, ecx
add esi, ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0xbc]
sub edx, dword [ebp - 0xc4]
mov dword [edx + ecx - 0x14], esi
mov esi, dword [ebp - 0xc0]
mov dword [ebx], edi
mov dword [edx + ecx - 0x18], eax
mov edx, eax
mov eax, edi
shl eax, 4
mov edi, edx
test esi, esi
jns 0x7034d5cd
mov edx, dword [ebp - 0xc8]
shl edi, 4
mov esi, dword [ebp - 0xb4]
sub edx, eax
mov eax, dword [ebp - 0xb0]
mov dword [esi + 0x14], edx
add eax, edx
mov ecx, eax
sub ecx, dword [ebp - 0xa0]
mov dword [esi + 8], eax
mov ebx, ecx
sub ebx, dword [ebp - 0xa4]
mov dword [esi + 0xc], ecx
mov ecx, edi
neg ecx
mov dword [esi + 0x10], ebx
jmp 0x7034d603
mov edi, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xec]
mov ebx, dword [edi + ebx + 0x54]
movsx ecx, word [eax + 0x14]
mov eax, ebx
movzx ebx, bx
imul ebx, ecx
sar eax, 0x10
imul eax, ecx
mov ecx, dword [ebp - 0xa8]
sar ebx, 0x10
add ebx, eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [edi + ecx + 0x50]
add ebx, edx
movsx edx, word [eax + 0x16]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
mov ecx, dword [ebp - 0xa8]
sar edx, 0x10
mov ecx, dword [edi + ecx + 0x4c]
add edx, eax
mov eax, dword [ebp - 0xec]
add ebx, edx
movsx edx, word [eax + 0x18]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
mov ecx, dword [ebp - 0xa8]
sar edx, 0x10
mov ecx, dword [edi + ecx + 0x48]
add edx, eax
mov eax, dword [ebp - 0xec]
add ebx, edx
movsx edx, word [eax + 0x1a]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
mov ecx, dword [ebp - 0xa8]
sar edx, 0x10
mov ecx, dword [edi + ecx + 0x44]
add edx, eax
mov eax, dword [ebp - 0xec]
add ebx, edx
movsx edx, word [eax + 0x1c]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
mov ecx, dword [ebp - 0xa8]
sar edx, 0x10
mov ecx, dword [edi + ecx + 0x40]
add edx, eax
mov eax, dword [ebp - 0xec]
add ebx, edx
movsx edx, word [eax + 0x1e]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
sar edx, 0x10
add edx, eax
add edx, ebx
jmp 0x7034d2c5
jne 0x7034dad0
mov edi, dword [ebp - 0x174]
mov esi, eax
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x168]
sub edx, edi
jmp 0x7034d563
cmp ecx, 0xffffffff
je 0x7034dbe4
mov eax, dword [ebp - 0xf4]
shl ecx, 0xa
mov esi, dword [ebp - 0x14c]
lea eax, [eax + ecx + 0x50]
lea edi, [eax + 0x400]
mov ebx, eax
mov ecx, edi
neg ebx
neg ecx
movsx ebx, bx
movsx ecx, cx
imul ebx, esi
imul ecx, esi
mov esi, edx
sub esi, eax
sub edx, edi
jmp 0x7034d563
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x154]
mov ecx, dword [ebp + 0x18]
shl edx, 2
add esi, edx
mov edx, dword [ebp + edx - 0x98]
mov eax, dword [esi + 0x240]
sub ecx, dword [ebp - 0x15c]
sar eax, 9
add eax, 1
sar eax, 1
mov byte [ecx + edi], al
mov edi, dword [esi + 0x2c0]
movsx ecx, dx
sar edx, 0xf
add edx, 1
sar edx, 1
mov eax, edi
movzx ebx, di
sar eax, 0x10
imul eax, ecx
imul ecx, ebx
imul edx, edi
sar ecx, 0x10
add eax, ecx
add eax, edx
mov edx, 0x7fff
sar eax, 7
add eax, 1
sar eax, 1
cmp eax, 0x7fff
jg 0x7034db93
mov edx, 0xffff8000
cmp eax, 0xffff8000
cmovge edx, eax
mov eax, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x15c]
mov ecx, dword [esi + 0x3c0]
mov word [eax + edi*2], dx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
mov edx, dword [eax + 0x110c]
mov eax, edx
sub eax, ebx
mov dword [edi + eax*4 + 0x500], ecx
mov eax, dword [edi + 0x1108]
mov edi, dword [ebp - 0x17c]
mov ecx, eax
sub ecx, ebx
mov ebx, dword [esi + 0x340]
mov dword [edi + ecx*4], ebx
jmp 0x7034d7ae
mov ebx, dword [ebp - 0x1b4]
mov esi, edx
mov edx, eax
mov edi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x168]
sub esi, ebx
mov eax, ebx
mov ebx, dword [ebp - 0x1b8]
jmp 0x7034d563
mov ebx, dword [ebp - 0x154]
imul eax, edi, 0x124
mov esi, dword [ebp - 0x158]
add eax, ebx
lea ecx, [esi + eax*4]
mov eax, ebx
neg eax
lea edx, [eax*4 + 0x490]
imul eax, dword [ebp - 0xa0], 0x124
mov dword [esp + 8], edx
mov dword [esp], ecx
add eax, ebx
lea eax, [esi + eax*4]
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
lea eax, [edi + edi*2]
mov edi, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xc4]
shl eax, 4
lea ecx, [edi + edi*2]
shl ecx, 4
add eax, ebx
add ecx, ebx
lea edx, [ecx + 0x18]
mov ecx, dword [ecx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [edx + 0x14]
mov dword [eax + 0x14], edx
jmp 0x7034d780
mov edi, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1bc]
add dword [ebp - 0x1a8], 4
mov ecx, dword [edi]
movsx edx, word [esi]
mov ebx, dword [edi - 4]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
sar edx, 0x10
lea ecx, [eax + edx + 2]
movsx edx, word [esi + 2]
mov eax, ebx
sar eax, 0x10
movzx ebx, bx
imul eax, edx
imul edx, ebx
sar edx, 0x10
add eax, edx
movsx edx, word [esi + 4]
lea ebx, [ecx + eax]
mov ecx, dword [edi - 8]
mov eax, ecx
movzx ecx, cx
sar eax, 0x10
imul eax, edx
imul edx, ecx
mov ecx, dword [edi - 0xc]
sar edx, 0x10
add eax, edx
movsx edx, word [esi + 6]
add ebx, eax
mov eax, ecx
sar eax, 0x10
movzx ecx, cx
imul eax, edx
imul edx, ecx
mov ecx, dword [edi - 0x10]
sar edx, 0x10
add eax, edx
movsx edx, word [esi + 8]
add ebx, eax
mov eax, ecx
sar eax, 0x10
movzx ecx, cx
imul eax, edx
imul edx, ecx
sar edx, 0x10
add eax, edx
add eax, ebx
add eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x7034cf97
sub dword [ebp - 0x150], 1
xor edi, edi
and dword [ebp - 0x150], 0x1f
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xc4]
and dword [ebp - 0xa4], 0x1f
mov esi, dword [eax + 4]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0xa8], eax
jmp 0x7034d778
mov dword [ebp - 0xa0], 0x3c
mov ecx, 0x1f
jmp 0x7034ca12
xor edi, edi
mov dword [ebp - 0xa4], 0
jmp 0x7034c9d0
neg ecx
mov eax, 0x80000000
mov edx, 0x7fffffff
sar eax, cl
sar edx, cl
cmp eax, edx
jle 0x7034dedc
cmp ebx, eax
jg 0x7034ddd4
cmp ebx, edx
mov eax, edx
cmovge eax, ebx
shl eax, cl
mov dword [ebp - 0xa4], eax
sar eax, 7
mov edi, eax
add edi, 1
sar edi, 1
jmp 0x7034c9d0
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x7034cc4e
mov ecx, dword [ebp - 0xac]
mov eax, ecx
sub eax, dword [ebp - 0xb0]
sub ecx, dword [ebp - 0x15c]
lea edx, [eax - 2]
cmp edx, ecx
jge 0x7034cc4e
mov ebx, dword [ebp - 0x9c]
mov edi, ebx
movzx esi, bx
sar edi, 0x10
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0x17c]
lea ebx, [edi + eax*4]
mov eax, dword [ebp - 0x1e8]
lea edi, [eax + ecx*4]
mov edx, dword [ebx - 8]
add ebx, 4
mov ecx, dword [ebp - 0xa0]
movsx eax, dx
imul ecx, eax
imul eax, esi
sar eax, 0x10
add ecx, eax
mov eax, edx
sar eax, 0xf
add eax, 1
sar eax, 1
imul eax, dword [ebp - 0x9c]
add eax, ecx
mov dword [ebx - 0xc], eax
cmp ebx, edi
jne 0x7034de3e
jmp 0x7034cc4e
mov eax, dword [ebp - 0x19c]
mov edi, dword [ebp + 0x38]
test dword [ebp - 0x1d0], eax
mov edi, dword [edi + eax*4]
mov dword [ebp - 0x16c], edi
je 0x7034df1b
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xb8], 0
mov eax, dword [eax + 0x1108]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0x1c8], eax
jmp 0x7034c911
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x110c]
mov dword [ebp - 0xc0], eax
jmp 0x7034cdd8
cmp ebx, edx
jle 0x7034e035
mov eax, edx
jmp 0x7034ddd4
neg ecx
mov eax, 0x80000000
mov edx, 0x7fffffff
sar eax, cl
sar edx, cl
cmp eax, edx
jle 0x7034e020
cmp ebx, eax
jg 0x7034df0e
cmp ebx, edx
mov eax, edx
cmovge eax, ebx
shl eax, cl
mov dword [ebp - 0x9c], eax
jmp 0x7034cabc
cmp dword [ebp - 0x19c], 2
je 0x7034e384
mov eax, dword [ebp - 0xb4]
lea ebx, [eax + 1]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1208]
mov ecx, dword [eax + 0x1238]
mov eax, edx
sub eax, dword [ebp - 0x16c]
mov dword [esp + 0x10], ecx
sub eax, ecx
sub eax, 2
sub edx, eax
mov dword [esp + 0xc], edx
mov edi, dword [ebp - 0xec]
mov dword [esp + 8], edi
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x19c]
mov edx, dword [esi + 0x1204]
mov esi, dword [ebp + 0xc]
imul edx, edi
add edx, eax
lea edx, [esi + edx*2]
mov dword [esp + 4], edx
mov esi, dword [ebp - 0x1dc]
lea eax, [esi + eax*2]
mov dword [esp], eax
call fcn.70348c20
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x1c8], ebx
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0x1208]
mov dword [esi + 0x1118], 1
mov dword [esi + 0x1108], eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x1d]
mov byte [ebp - 0xc4], al
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0xb0], eax
jmp 0x7034c911
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x11fc]
test edx, edx
jle 0x7034c720
mov eax, dword [ebp + 0x38]
lea edi, [eax + edx*4]
mov esi, dword [eax]
sub esi, 3
cmp dword [ebp - 0x15c], esi
cmovle esi, dword [ebp - 0x15c]
add eax, 4
cmp eax, edi
mov dword [ebp - 0x15c], esi
jne 0x7034dff7
jmp 0x7034c720
cmp ebx, edx
jle 0x7034e350
mov eax, edx
lea esi, [esi]
jmp 0x7034df0e
cmp ebx, eax
cmovge eax, ebx
jmp 0x7034ddd4
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [eax*4 + 0x48c]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x122c]
cmp edi, 1
jle 0x7034e53c
mov ecx, dword [ebp - 0x158]
xor edx, edx
mov eax, 1
mov esi, dword [ecx + 0x91c]
cmp esi, ebx
jge 0x7034e083
mov ebx, esi
mov edx, eax
add eax, 1
add ecx, 0x490
cmp eax, edi
jne 0x7034e075
imul eax, edx, 0x490
mov edi, dword [ebp + 0x10]
add eax, dword [ebp - 0x158]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x150]
mov edx, dword [eax + 0x488]
mov byte [edi + 0x22], dl
mov edx, dword [ebx + 0x11fc]
mov ebx, dword [ebp + 0x34]
mov edi, dword [ebp - 0x15c]
mov edx, dword [ebx + edx*4 - 4]
add esi, edi
mov ecx, edx
sar ecx, 6
test edi, edi
jle 0x7034e1cc
movsx ebx, cx
mov ecx, dword [ebp + 0x18]
sar edx, 0x15
lea edi, [edx + 1]
mov dword [ebp - 0xa8], ebx
mov ebx, dword [ebp - 0x15c]
mov dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0x1b0]
sar dword [ebp - 0x9c], 1
lea edx, [ebx + ebx]
sub ecx, ebx
sub edi, edx
mov dword [ebp - 0xa4], edi
xor edi, edi
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
sub esi, 1
and esi, 0x1f
mov ebx, dword [ebp - 0xac]
lea ecx, [eax + esi*4]
mov eax, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x240]
sar edx, 9
add edx, 1
sar edx, 1
mov byte [ebx + edi], dl
mov ebx, dword [ecx + 0x2c0]
movzx edx, word [ecx + 0x2c0]
sar ebx, 0x10
imul edx, eax
imul ebx, eax
sar edx, 0x10
add edx, ebx
mov ebx, dword [ebp - 0x9c]
imul ebx, dword [ecx + 0x2c0]
add edx, ebx
mov ebx, 0x7fff
sar edx, 7
add edx, 1
sar edx, 1
cmp edx, 0x7fff
jg 0x7034e191
cmp edx, 0xffff8000
mov ebx, 0xffff8000
cmovge ebx, edx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x3c0]
mov word [edx + edi*2], bx
mov ebx, dword [ebp - 0x15c]
mov edx, edi
add edi, 1
sub edx, ebx
add edx, dword [eax + 0x110c]
cmp edi, ebx
mov dword [eax + edx*4 + 0x500], ecx
jne 0x7034e118
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x1204]
mov edi, dword [ebp - 0x1c0]
lea esi, [eax + edx*4]
mov edx, pe_nt_image_headers32
test edi, 1
jne 0x7034e526
test edi, 2
jne 0x7034e511
mov ecx, edx
shr ecx, 2
test dl, 2
rep movsd dword es:[edi], dword [esi]
je 0x7034e212
movzx ecx, word [esi]
mov word [edi], cx
mov ecx, 2
and edx, 1
je 0x7034e21e
movzx edx, byte [esi + ecx]
mov byte [edi + ecx], dl
mov ebx, dword [ebp - 0x1d4]
mov ecx, dword [eax + 0x440]
mov edx, dword [eax + 0x47c]
mov edi, dword [ebp + 0xc]
mov dword [ebx], ecx
mov ecx, dword [eax + 0x444]
mov dword [ebx + 0x3c], edx
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 0x448]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0x44c]
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax + 0x450]
mov dword [ebx + 0x10], ecx
mov ecx, dword [eax + 0x454]
mov dword [ebx + 0x14], ecx
mov ecx, dword [eax + 0x458]
mov dword [ebx + 0x18], ecx
mov ecx, dword [eax + 0x45c]
mov dword [ebx + 0x1c], ecx
mov ecx, dword [eax + 0x460]
mov dword [ebx + 0x20], ecx
mov ecx, dword [eax + 0x464]
mov dword [ebx + 0x24], ecx
mov ecx, dword [eax + 0x468]
mov dword [ebx + 0x28], ecx
mov ecx, dword [eax + 0x46c]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [eax + 0x470]
mov dword [ebx + 0x30], ecx
mov ecx, dword [eax + 0x474]
mov dword [ebx + 0x34], ecx
mov ecx, dword [eax + 0x478]
mov eax, dword [eax + 0x480]
mov dword [ebx + 0x38], ecx
mov dword [edi + 0x1100], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x38]
mov eax, dword [eax + 0x11fc]
mov eax, dword [ebx + eax*4 - 4]
mov dword [edi + 0x1104], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1208]
mov dword [ebp - 0x9c], eax
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov eax, dword [eax + 0x1200]
lea eax, [ebx + eax*2]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1208]
mov dword [ebp - 0x9c], eax
shl eax, 2
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 0x1200]
lea eax, [edi + eax*4 + 0x500]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
add eax, 0x500
mov dword [esp], eax
call sub.msvcrt.dll_memmove
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, eax
cmovge eax, ebx
jmp 0x7034df0e
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x1208]
mov eax, dword [ebp + 0xc]
add eax, 0xf00
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp + 0xc]
add eax, 0x10c0
mov dword [ebp - 0x1d4], eax
jmp 0x7034c6ab
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x158]
mov edx, dword [ebx + 0x122c]
mov edi, dword [eax + 0x48c]
cmp edx, 1
jle 0x7034e3c4
mov esi, eax
mov ebx, 1
xor eax, eax
mov ecx, dword [esi + 0x91c]
cmp ecx, edi
jge 0x7034e3b5
mov edi, ecx
mov eax, ebx
add ebx, 1
add esi, 0x490
cmp ebx, edx
jne 0x7034e3a7
jmp 0x7034e3ca
xor eax, eax
test edx, edx
jle 0x7034e3ed
mov ecx, dword [ebp - 0x158]
xor ebx, ebx
cmp ebx, eax
je 0x7034e3e0
add dword [ecx + 0x48c], 0x7ffffff
add ebx, 1
add ecx, 0x490
cmp ebx, edx
jne 0x7034e3d2
imul eax, eax, 0x490
mov ebx, dword [ebp - 0x15c]
xor edi, edi
add eax, dword [ebp - 0x158]
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x150]
sub esi, ebx
mov dword [ebp - 0xa8], esi
add eax, ebx
mov ecx, eax
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x1c4]
test ebx, ebx
mov esi, ecx
mov dword [ebp - 0xa4], eax
jle 0x7034e4fd
mov eax, dword [ebp - 0xa0]
sub esi, 1
and esi, 0x1f
mov ebx, dword [ebp - 0xa8]
lea eax, [eax + esi*4]
mov edx, dword [eax + 0x240]
mov ecx, dword [eax + 0x2c0]
sar edx, 9
add edx, 1
sar edx, 1
mov byte [ebx + edi], dl
mov ebx, dword [ebp + 0x34]
sar ecx, 0x10
movzx edx, word [eax + 0x2c0]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x9c], ebx
movsx ebx, word [ebp - 0x9c]
imul ecx, ebx
imul ebx, edx
sar ebx, 0x10
add ecx, ebx
mov ebx, dword [ebp - 0x9c]
sar ebx, 0xf
add ebx, 1
sar ebx, 1
imul ebx, dword [eax + 0x2c0]
mov edx, ebx
add edx, ecx
mov ecx, 0x7fff
sar edx, 0xd
add edx, 1
sar edx, 1
cmp edx, 0x7fff
jg 0x7034e4c8
cmp edx, 0xffff8000
mov ecx, 0xffff8000
cmovge ecx, edx
mov ebx, dword [ebp - 0xa4]
mov edx, edi
mov eax, dword [eax + 0x3c0]
mov word [ebx + edi*2], cx
mov ebx, dword [ebp - 0x15c]
add edi, 1
mov ecx, dword [ebp + 0xc]
sub edx, ebx
add edx, dword [ecx + 0x110c]
cmp edi, ebx
mov dword [ecx + edx*4 + 0x500], eax
jne 0x7034e438
mov ebx, 1
mov dword [ebp - 0xb4], 0
jmp 0x7034df31
movzx ecx, word [esi]
add edi, 2
add esi, 2
sub edx, 2
mov word [edi - 2], cx
jmp 0x7034e1fb
movzx edx, byte [esi]
add edi, 1
add esi, 1
mov byte [edi - 1], dl
mov edx, 0x7f
jmp 0x7034e1ef
xor edx, edx
jmp 0x7034e090
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x158]
add eax, 0x70
mov ecx, dword [edi + eax*4]
mov dword [ebp - 0xa8], edi
jmp 0x7034d6f3