Function at 0x75b170
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x2f58
call fcn.00aa20e0
mov eax, dword [esp + 0x2f58]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0xd0], 1
mov ebp, eax
mov edi, dword [eax + 0x218]
mov edx, dword [ebp + 0x28f4]
mov ecx, dword [ebp + 0x28ec]
mov eax, dword [eax + 0x214]
mov esi, dword [ebp + 0x28f0]
mov dword [esp + 0x58], edx
mov ebx, ecx
mov dword [esp + 0x5c], ecx
movzx ecx, byte [esp + 0x58]
mov dword [esp + 0xac], eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2f70]
mov dword [esp + 0xa8], edi
shl ebx, cl
mov ecx, edx
shl esi, cl
imul eax, ebx
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xc8], esi
mov esi, edx
mov edx, dword [esp + 0x7c]
sub esi, dword [esp + 0x80]
add eax, dword [esp + 0x7c]
add ebx, 1
mov ecx, esi
shl eax, cl
mov ecx, 4
sub ecx, dword [esp + 0x80]
shl dword [esp + 0xd0], cl
mov ecx, esi
shl ebx, cl
test edx, edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0xd4], 0xb68170
je 0x75b25e
mov edx, dword [ebp + 0x20b11c]
lea eax, [eax + eax*4]
sub edx, 0xa
lea eax, [edx + eax*2]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x2f70]
mov dword [esp + 0xd8], 0xb68170
test eax, eax
je 0x75b295
mov eax, dword [esp + 0xcc]
sub eax, dword [esp + 0xc4]
mov ebx, dword [ebp + 0x20b11c]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*2]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x34]
cmp dword [esp + 0xc4], eax
mov dword [esp + 0xdc], 0xb68170
jle 0x75b2ca
mov edx, dword [ebp + 0x20b11c]
mov ecx, dword [esp + 0xcc]
add edx, 0xa
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*2]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x2f70]
mov ecx, esi
mov dword [esp + 0xe0], 0xb68170
add eax, 1
shl eax, cl
cmp dword [esp + 0xc8], eax
jle 0x75b30d
mov eax, dword [esp + 0xcc]
add eax, dword [esp + 0xc4]
mov ebx, dword [ebp + 0x20b11c]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*2]
mov dword [esp + 0xe0], eax
mov ebx, dword [esp + 0x2f70]
test ebx, ebx
setne bl
je 0x75b327
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x75b674
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xe4], eax
test bl, bl
je 0x75b34a
mov edx, dword [esp + 0xc4]
cmp dword [esp + 0x34], edx
jl 0x75b69d
mov esi, dword [esp + 0xe4]
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0xd4]
mov esi, dword [ebp + 0xfec]
mov edx, dword [esp + 0xd4]
mov ebx, dword [ebp + 0xfe8]
movzx eax, byte [eax + 5]
mov ecx, dword [esp + 0xd4]
mov byte [esp + 0x166], al
mov eax, dword [esp + 0x2f70]
movzx edx, byte [edx + 6]
imul eax, esi
add eax, dword [esp + 0x7c]
imul eax, dword [esp + 0xd0]
mov byte [esp + 0x165], dl
movzx ecx, byte [ecx + 7]
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], esi
mov edx, eax
shr edx, 0x1f
add edx, eax
mov eax, dword [esp + 0x2f70]
sar edx, 1
mov byte [esp + 0x164], cl
mov ecx, edx
add edx, dword [ebp + 0xf18]
imul eax, ebx
add eax, dword [esp + 0x7c]
imul eax, dword [esp + 0xd0]
add eax, dword [ebp + 0xf10]
add ecx, dword [ebp + 0xf14]
mov dword [esp + 0x2f50], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x2f48], eax
mov eax, dword [ebp]
mov dword [esp + 0x2f4c], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x84], eax
movzx eax, byte [edx + 4]
mov dword [esp + 0x110], 0
add eax, eax
test ax, 0xff00
je 0x75b43c
add dword [esp + 0x110], 8
shr eax, 8
movzx eax, byte [eax + 0xbccde0]
mov ecx, dword [esp + 0xd8]
mov byte [esp + 0x117], al
movzx eax, byte [ecx + 4]
mov dword [esp + 0x118], 0
add eax, eax
test ax, 0xff00
je 0x75b473
add dword [esp + 0x118], 8
shr eax, 8
movzx eax, byte [eax + 0xbccde0]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x120], 0
mov byte [esp + 0x11f], al
mov eax, dword [esp + 0xd8]
movsx esi, word [ebx]
movsx eax, word [eax]
mov dword [esp + 0x50], eax
mov eax, esi
sub eax, dword [esp + 0x50]
mov edx, eax
sar edx, 0x1f
xor eax, edx
sub eax, edx
add eax, eax
test eax, 0xffff0000
je 0x75b4ca
shr eax, 0x10
mov dword [esp + 0x120], 0x10
test ax, 0xff00
je 0x75b4db
add dword [esp + 0x120], 8
shr eax, 8
movzx eax, byte [eax + 0xbccde0]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x128], 0
mov byte [esp + 0x127], al
mov eax, dword [esp + 0xd8]
movsx ecx, word [edx + 2]
movsx ebx, word [eax + 2]
mov eax, ecx
sub eax, ebx
mov edx, eax
sar edx, 0x1f
xor eax, edx
sub eax, edx
add eax, eax
test eax, 0xffff0000
je 0x75b52e
shr eax, 0x10
mov dword [esp + 0x128], 0x10
test ax, 0xff00
je 0x75b53f
add dword [esp + 0x128], 8
shr eax, 8
movzx eax, byte [eax + 0xbccde0]
mov edx, dword [esp + 0xd4]
mov byte [esp + 0x12f], al
mov eax, dword [esp + 0xd8]
movzx edx, byte [edx + 9]
mov byte [esp + 0x88], dl
mov edx, dword [esp + 0xe4]
movzx eax, byte [eax + 9]
mov byte [esp + 0x89], al
mov eax, dword [esp + 0xe8]
movzx edx, byte [edx + 9]
mov byte [esp + 0x8a], dl
movzx eax, byte [eax + 9]
mov byte [esp + 0x8b], al
mov eax, dword [ebp + 0x2848]
test eax, eax
je 0x75b6d7
movzx ecx, byte [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2f70]
shl eax, cl
mov ecx, dword [esp + 0x58]
imul ebx, eax
sub ecx, dword [esp + 0x80]
mov edx, ebx
mov ebx, 1
add edx, dword [esp + 0x7c]
shl ebx, cl
shl edx, cl
movzx ecx, byte [esp + 0x80]
test ebx, ebx
mov byte [esp + 0x3b], cl
jle 0x75b667
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x78], eax
lea eax, [edx + edx*4]
lea esi, [eax + eax]
mov dword [esp + 0x140], 0
mov edi, esi
xor edx, edx
movzx ecx, byte [esp + 0x3b]
mov eax, edi
add edx, 1
add eax, dword [ebp + 0x20b11c]
add edi, 0xa
cmp edx, ebx
mov byte [eax + 9], cl
mov byte [eax + 8], 1
mov byte [eax + 4], 0
movzx ecx, byte [esp + 0x164]
mov word [eax + 2], 0
mov word [eax], 0
mov byte [eax + 7], cl
movzx ecx, byte [esp + 0x165]
mov byte [eax + 6], cl
movzx ecx, byte [esp + 0x166]
mov byte [eax + 5], cl
jne 0x75b604
add dword [esp + 0x140], 1
add esi, dword [esp + 0x78]
cmp dword [esp + 0x140], edx
jne 0x75b600
xor eax, eax
add esp, 0x2f5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0x20b11c]
mov eax, dword [esp + 0xcc]
sub eax, dword [esp + 0xc4]
sub edx, 0xa
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0xe4], eax
jmp 0x75b335
test byte [esp + 0x7c], 1
jne 0x75c2ca
mov eax, 1
mov ecx, esi
mov ebx, dword [ebp + 0x20b11c]
shl eax, cl
sub eax, dword [esp + 0xc4]
add eax, dword [esp + 0xcc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*2]
mov dword [esp + 0xe8], eax
jmp 0x75b358
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x2eec], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x2ef4], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x2ee8], esi
mov esi, dword [esp + 0x50]
movsx eax, word [edx]
mov dword [esp + 0x2ef0], esi
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x2ef8], eax
movsx eax, word [edx + 2]
mov dword [esp + 0x2efc], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp + 0x20b11c]
add eax, eax
mov dword [ebp + 0x20c1d8], 2
mov dword [ebp + 0x20d958], 0
movzx edx, word [ecx + eax]
mov dword [ebp + 0x20d954], 0
mov dword [ebp + 0x20d7f8], 0
mov word [esp + 0x2f3c], dx
movzx eax, word [eax + ecx + 2]
mov word [esp + 0x2f3e], ax
movzx eax, word [ebx]
mov word [esp + 0x2f40], ax
movzx eax, word [ebx + 2]
mov word [esp + 0x2f42], ax
movzx eax, word [esi]
mov word [esp + 0x2f44], ax
movzx eax, word [esi + 2]
mov word [esp + 0x2f46], ax
mov eax, dword [esp + 0xfc]
cmp dword [ebp + 0x20d91c], eax
jne 0x75c67c
mov edx, dword [esp + 0x100]
cmp dword [ebp + 0x20d920], edx
jne 0x75d6ba
mov ecx, dword [ebp + 0x20d7f4]
mov ebx, dword [ebp + 0x28d4]
mov edx, dword [ebp + 0x28d0]
movzx eax, byte [ecx + 0x1d0]
cmp eax, 0xe
jbe 0x75c2de
mov eax, edx
sar eax, 7
mov dword [ebp + 0x20d864], eax
movzx eax, byte [ecx + 0x1d4]
cmp eax, 0xe
jbe 0x75c2f7
mov eax, edx
sar eax, 7
mov dword [ebp + 0x20d868], eax
movzx eax, byte [ecx + 0x1d8]
cmp eax, 0xe
jbe 0x75c2e7
mov eax, edx
sar eax, 7
mov dword [ebp + 0x20d86c], eax
mov eax, dword [ebp + 0x20d940]
mov ebx, 4
mov dword [ebp + 0x20d5c4], 1
mov edx, dword [esp + 0xc4]
shr dword [esp + 0x84], 4
and dword [esp + 0x84], 1
add eax, 0x1801
mov ecx, dword [esp + 0x84]
mov dword [ebp + 0x20d944], eax
mov eax, dword [esp + 0x7c]
sub ebx, dword [ebp + 0x28f4]
add ecx, 1
neg eax
imul eax, dword [esp + 0xd0]
mov dword [esp + 0x104], ecx
mov ecx, ebx
shl edx, cl
sub eax, 0xe
mov dword [ebp + 0x20d884], eax
mov eax, dword [esp + 0x2f70]
neg eax
imul eax, dword [esp + 0xd0]
sub eax, 0xe
mov dword [ebp + 0x20d88c], eax
mov eax, dword [esp + 0x7c]
not eax
imul eax, dword [esp + 0xd0]
lea esi, [edx + eax + 0xe]
mov edx, dword [esp + 0xc8]
mov dword [ebp + 0x20d888], esi
mov eax, dword [esp + 0x2f70]
shl edx, cl
movzx ecx, byte [esp + 0x104]
not eax
imul eax, dword [esp + 0xd0]
lea edx, [edx + eax + 0xe]
mov eax, esi
mov dword [ebp + 0x20d890], edx
shl eax, cl
cmp dword [esp + 0x2ee8], eax
jle 0x75b90e
movzx ecx, byte [esp + 0x104]
mov dword [esp + 0x2ee8], eax
mov esi, dword [ebp + 0x20d890]
shl esi, cl
cmp dword [esp + 0x2eec], esi
jle 0x75b92e
movzx ecx, byte [esp + 0x104]
mov dword [esp + 0x2eec], esi
mov ebx, dword [ebp + 0x20d888]
shl ebx, cl
cmp dword [esp + 0x2ef0], ebx
jle 0x75b946
mov dword [esp + 0x2ef0], ebx
cmp dword [esp + 0x2ef4], esi
jle 0x75b956
mov dword [esp + 0x2ef4], esi
mov eax, dword [ebp + 0x20d884]
movzx ecx, byte [esp + 0x104]
mov edx, dword [esp + 0x2ef8]
shl eax, cl
cmp edx, eax
jge 0x75b97a
mov dword [esp + 0x2ef8], eax
mov edx, eax
cmp ebx, edx
jge 0x75b985
mov dword [esp + 0x2ef8], ebx
cmp dword [esp + 0x2efc], esi
jle 0x75b995
mov dword [esp + 0x2efc], esi
mov eax, dword [esp + 0x2ef0]
mov ebx, dword [esp + 0x2ee8]
mov edx, dword [esp + 0x2ef8]
cmp eax, ebx
jge 0x75c338
cmp edx, eax
jg 0x75c365
mov edx, dword [esp + 0x2ef4]
mov ecx, dword [esp + 0x2eec]
mov dword [esp + 0x2f00], eax
mov eax, dword [esp + 0x2efc]
cmp edx, ecx
jge 0x75c31f
cmp eax, edx
jg 0x75c351
mov eax, dword [esp + 0x2f70]
mov dword [esp + 0x2f04], edx
test eax, eax
jne 0x75c307
mov dword [ebp + 0x20d894], ebx
mov dword [ebp + 0x20d898], ecx
mov eax, dword [ebp + 0x286c]
test eax, eax
jle 0x75d689
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xcc]
imul esi, dword [esp + 0x7c]
imul ebx, dword [esp + 0x2f70]
movzx ecx, byte [esp + 0x104]
mov dword [esp + 0x3c], 0x10000
shl edi, 2
sar dword [esp + 0x3c], cl
mov dword [esp + 0x16c], esi
xor esi, esi
mov dword [esp + 0x90], edi
lea edi, [ebp + 0x20c140]
mov dword [esp + 0x188], ebx
mov dword [esp + 0xb0], 0x7fffffff
mov dword [esp + 0xec], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xf0], 0
mov ecx, dword [esp + 0x188]
imul ebx, esi, 0xc8
imul ecx, dword [ebp + 0x20d91c]
mov eax, dword [esp + 0x2f48]
add ecx, dword [esp + 0x16c]
add ebx, ebp
mov edx, dword [esp + 0x188]
imul edx, dword [ebp + 0x20d920]
mov dword [ebp + 0x20d89c], eax
mov dword [esp + 0x2f30], ecx
add ecx, dword [ebx + 0x10a0]
add edx, dword [esp + 0x16c]
mov dword [ebp + 0x20d8dc], ecx
mov eax, dword [esp + 0x2f4c]
lea ecx, [esp + 0x2f3c]
sar edx, 1
mov dword [esp + 0x2f34], edx
mov dword [esp + 0x2f38], edx
mov dword [ebp + 0x20d8a0], eax
mov eax, dword [ebx + 0x10a4]
add eax, edx
mov dword [ebp + 0x20d8e0], eax
mov eax, dword [esp + 0x2f50]
mov dword [ebp + 0x20d8a4], eax
mov eax, dword [esp + 0x80]
add edx, dword [ebx + 0x10a8]
mov ebx, dword [esp + 0xd0]
mov dword [ebp + 0x20d8e4], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x2f54]
mov dword [esp + 0x24], ebx
lea ebx, [esp + 0x2ee0]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x2f58]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp], edi
call fcn.008d3d80
mov edx, dword [esp + 0x2f58]
cmp dword [ebp + 0x20d884], edx
jg 0x75c5c9
cmp edx, dword [ebp + 0x20d888]
jg 0x75c5ad
mov edx, dword [esp + 0x2f54]
cmp dword [ebp + 0x20d88c], edx
jg 0x75c601
cmp edx, dword [ebp + 0x20d890]
jg 0x75c5e5
mov ebx, dword [esp + 0x80]
lea edx, [esp + 0x2f58]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2f54]
mov dword [esp + 4], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [ebp + 0x20d948]
mov eax, dword [esp + 0x2f54]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2f58]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.008971f0
xor ecx, ecx
mov ebx, eax
lea eax, [esi + esi]
test eax, 0xffff0000
je 0x75bc6f
shr eax, 0x10
mov cl, 0x10
test ax, 0xff00
je 0x75bc7b
shr eax, 8
add ecx, 8
mov edx, dword [ebp + 0x20d864]
movzx eax, byte [eax + 0xbccde0]
add edx, edx
add eax, ecx
mov ecx, dword [ebp + esi*4 + 0x2870]
imul edx, eax
add edx, ebx
test ecx, ecx
je 0x75bcc4
mov eax, dword [esp + 0x2f58]
mov ebx, dword [esp + 0x90]
mov word [ecx + ebx], ax
mov eax, dword [esp + 0x2f54]
mov word [ebx + ecx + 2], ax
mov eax, dword [ebp + esi*4 + 0x2890]
mov dword [eax + ebx], edx
cmp dword [esp + 0xb0], edx
jle 0x75bcf7
mov eax, dword [esp + 0x2f58]
mov ecx, dword [esp + 0x2f54]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x10c], esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
add esi, 1
cmp dword [ebp + 0x286c], esi
jg 0x75ba98
mov ebx, dword [ebp + 0x214]
mov edi, dword [ebp + 0x218]
mov dword [esp + 0x54], ebx
mov ebx, dword [ebp + 8]
sub edi, dword [esp + 0x54]
cmp dword [ebp + 0x10], 0x80000000
mov esi, edi
mov dword [esp + 0x94], edi
adc esi, dword [ebp + 0xc]
xor edi, edi
test ebx, 0xffff0000
je 0x75bd41
shr ebx, 0x10
mov di, 0x10
test bx, 0xff00
je 0x75bd4e
shr ebx, 8
add edi, 8
movzx eax, byte [esp + 0x8a]
movzx ecx, byte [esp + 0x8b]
movzx edx, byte [esp + 0x88]
sub esi, dword [esp + 0x94]
mov dword [esp + 8], 0x21c
add ecx, eax
movzx eax, byte [esp + 0x89]
shl esi, 3
sub esi, edi
lea edi, [esp + 0x2cc4]
add eax, edx
lea eax, [ecx + eax*2]
mov dword [esp + 0x108], eax
movzx eax, byte [ebx + 0xbccde0]
mov dword [esp], edi
sub esi, eax
mov dword [esp + 0xc0], esi
lea esi, [ebp + 4]
mov dword [esp + 0x60], esi
mov dword [esp + 4], esi
call sub.msvcrt.dll_memcpy
lea eax, [esp + 0x26a8]
lea edx, [ebp + 0x17c8]
lea ecx, [esp + 0x1228]
mov dword [esp + 0x2ed8], eax
mov dword [esp + 0x2ed4], eax
mov dword [esp + 0x98], edx
mov dword [esp + 8], 0x1080
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00580260
mov ebx, dword [esp + 0x80]
cmp dword [ebp + 0x28f4], ebx
je 0x75c636
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0x2cc8]
lea ecx, [esp + esi + 0x122c]
movzx edx, byte [ecx]
imul edx, eax
add eax, dword [esp + 0x2cc4]
sar edx, 8
sub eax, edx
mov dword [esp + 0x2cc8], edx
mov dword [esp + 0x2cc4], eax
movzx eax, byte [ecx]
movzx eax, byte [esp + eax + 0x2dd4]
mov byte [ecx], al
mov ecx, dword [esp + 0x2cc8]
cmp ecx, 0xff
jg 0x75bf03
mov edx, dword [esp + 0x2cd0]
test edx, edx
js 0x75bec3
mov eax, dword [esp + 0x2cc4]
cmp eax, 0xff00
jg 0x75c48a
mov eax, dword [esp + 0x2ed8]
mov byte [eax], dl
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
test eax, eax
je 0x75bec3
mov eax, dword [esp + 0x2ed8]
mov byte [eax], 0xff
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ccc], eax
jne 0x75be9a
mov eax, dword [esp + 0x2cc4]
sar eax, 8
mov dword [esp + 0x2cd0], eax
mov ecx, dword [esp + 0x2cc8]
movzx eax, byte [esp + 0x2cc4]
shl ecx, 8
shl eax, 8
cmp ecx, 0xff
mov dword [esp + 0x2cc4], eax
mov dword [esp + 0x2cc8], ecx
jle 0x75be5f
mov edi, dword [esp + 0xd4]
lea esi, [esp + 0x1228]
mov ebx, dword [esp + 0xd8]
movzx edx, byte [edi + 8]
movzx eax, byte [ebx + 8]
lea edx, [edx + eax + 1]
lea edx, [esi + edx]
movzx eax, byte [edx]
imul eax, ecx
sar eax, 8
sub ecx, eax
mov dword [esp + 0x2cc8], ecx
movzx eax, byte [edx]
movzx eax, byte [esp + eax + 0x2cd4]
mov byte [edx], al
cmp dword [esp + 0x2cc8], 0xff
jg 0x75bffa
mov edx, dword [esp + 0x2cd0]
test edx, edx
js 0x75bfbb
mov eax, dword [esp + 0x2cc4]
cmp eax, 0xff00
jg 0x75c421
mov eax, dword [esp + 0x2ed8]
mov byte [eax], dl
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
test eax, eax
je 0x75bfbb
mov eax, dword [esp + 0x2ed8]
mov byte [eax], 0xff
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ccc], eax
jne 0x75bf92
mov eax, dword [esp + 0x2cc4]
sar eax, 8
mov dword [esp + 0x2cd0], eax
movzx eax, byte [esp + 0x2cc4]
shl eax, 8
mov dword [esp + 0x2cc4], eax
mov eax, dword [esp + 0x2cc8]
shl eax, 8
cmp eax, 0xff
mov dword [esp + 0x2cc8], eax
jle 0x75bf57
mov eax, dword [ebp + 0x286c]
cmp eax, 1
jle 0x75c04f
movzx edx, byte [esp + 0x11f]
movzx eax, byte [esp + 0x117]
add eax, dword [esp + 0x110]
add eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x10c]
mov dword [esp], 0
add eax, edx
shl eax, 5
lea edx, [esp + eax + 0x16a8]
lea eax, [esp + 0x2cc4]
call fcn.00756940
mov eax, dword [ebp + 0x286c]
sub eax, 1
je 0x75c539
mov edi, dword [esp + 0xe8]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0xe8]
mov esi, dword [esp + 0xd8]
movzx eax, byte [edi + 4]
shl edx, 5
add edx, 0xe73e50
mov edi, dword [edx + eax*4]
movsx eax, word [ecx]
imul eax, edi
lea ebx, [eax + 0x80]
movzx eax, byte [esi + 4]
sar ebx, 8
mov eax, dword [edx + eax*4]
mov dword [esp + 0x144], eax
movsx eax, word [esi]
imul eax, dword [esp + 0x144]
mov esi, dword [esp + 0xd4]
lea ecx, [eax + 0x80]
movzx eax, byte [esi + 4]
sar ecx, 8
mov esi, dword [edx + eax*4]
mov edx, dword [esp + 0xd4]
movsx eax, word [edx]
imul eax, esi
sub eax, 0xffffff80
sar eax, 8
cmp ecx, eax
jge 0x75c61d
cmp ebx, ecx
jg 0x75c653
mov ebx, dword [esp + 0xe8]
movsx eax, word [ebx + 2]
imul edi, eax
lea edx, [edi + 0x80]
mov edi, dword [esp + 0xd8]
sar edx, 8
movsx eax, word [edi + 2]
imul eax, dword [esp + 0x144]
mov edi, dword [esp + 0xd4]
mov ebx, eax
movsx eax, word [edi + 2]
sub ebx, 0xffffff80
sar ebx, 8
imul esi, eax
lea eax, [esi + 0x80]
sar eax, 8
cmp ebx, eax
jge 0x75c594
cmp edx, ebx
jg 0x75c642
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0x10c]
movzx eax, byte [esp + 0x127]
add eax, dword [esp + 0x120]
sub edx, ecx
test esi, esi
mov ecx, edx
je 0x75c509
shl eax, 5
lea esi, [esp + 0x12a8]
lea edx, [eax + esi + 0x200]
lea eax, [esp + 0x2cc4]
mov dword [esp], 1
call fcn.00756940
mov ecx, dword [esp + 0xf0]
mov eax, 0x10
sub ecx, ebx
movzx edx, byte [esp + 0x12f]
add edx, dword [esp + 0x128]
mov dword [esp], 1
add edx, eax
shl edx, 5
lea edx, [esi + edx]
lea eax, [esp + 0x2cc4]
call fcn.00756940
mov ecx, dword [esp + 0x2ed8]
mov ebx, dword [esp + 0x2ed4]
mov eax, dword [esp + 0x2cc8]
mov esi, dword [ebp + 0x28d4]
mov dword [esp + 0x14c], 0
sub ecx, ebx
mov dword [esp + 0xb8], ecx
cmp dword [esp + 0x2cd0], 0x80000000
adc ecx, dword [esp + 0x2ccc]
test eax, 0xffff0000
mov dword [esp + 0x8c], esi
mov dword [esp + 0x150], ecx
je 0x75c228
shr eax, 0x10
mov dword [esp + 0x14c], 0x10
test ax, 0xff00
je 0x75c239
add dword [esp + 0x14c], 8
shr eax, 8
movzx eax, byte [eax + 0xbccde0]
mov edi, dword [esp + 0xd0]
mov edx, dword [esp + 0xd0]
mov byte [esp + 0x14b], al
mov eax, dword [esp + 0x2f48]
imul edi, edi
test edx, edx
mov dword [esp + 0x190], eax
mov dword [esp + 0xbc], edi
jle 0x75c698
mov edx, dword [esp + 0xfc]
mov esi, eax
xor ebx, ebx
mov ecx, dword [esp + 0xd0]
xor edi, edi
sub edx, dword [esp + 0xd0]
add ecx, edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
mov ecx, esi
xor edx, edx
nop
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
add ebx, eax
cmp edx, dword [esp + 0xd0]
jne 0x75c2a0
add edi, 1
cmp edi, dword [esp + 0xd0]
je 0x75d6d6
add esi, dword [esp + 0x40]
jmp 0x75c29a
mov edx, dword [esp + 0x80]
test edx, edx
jne 0x75b34a
jmp 0x75b6a8
nop
jmp dword [eax*4 + 0xb67dcc]
mov esi, esi
lea edi, [edi]
jmp dword [eax*4 + 0xb67e08]
mov esi, esi
lea edi, [edi]
jmp dword [eax*4 + 0xb67e44]
mov eax, dword [esp + 0x2f00]
mov dword [ebp + 0x20d898], edx
mov dword [ebp + 0x20d894], eax
jmp 0x75ba08
cmp eax, edx
jge 0x75b9e6
cmp ecx, eax
mov edx, ecx
jge 0x75b9e6
mov edx, eax
jmp 0x75b9e6
cmp edx, eax
jge 0x75b9ba
cmp ebx, edx
mov eax, ebx
jge 0x75b9ba
mov eax, edx
jmp 0x75b9ba
cmp ecx, eax
mov edx, ecx
jle 0x75b9e6
mov edx, eax
lea esi, [esi]
jmp 0x75b9e6
cmp ebx, edx
mov eax, ebx
jle 0x75b9ba
mov eax, edx
jmp 0x75b9ba
lea eax, [edx + edx]
sar eax, 7
jmp 0x75b80a
lea eax, [edx + edx]
sar eax, 7
jmp 0x75b825
lea eax, [edx + edx]
sar eax, 7
jmp 0x75b7ef
mov eax, ebx
sar eax, 7
jmp 0x75b7ef
lea eax, [edx + edx*2]
sar eax, 8
jmp 0x75b7ef
lea eax, [edx + edx*2]
sar eax, 8
jmp 0x75b80a
mov eax, ebx
sar eax, 7
jmp 0x75b825
lea eax, [edx*4]
sar eax, 7
jmp 0x75b7ef
mov eax, 1
jmp 0x75b7ef
lea eax, [edx*4]
sar eax, 7
jmp 0x75b80a
mov eax, 1
jmp 0x75b80a
mov eax, ebx
sar eax, 7
jmp 0x75b80a
lea eax, [edx*4]
sar eax, 7
jmp 0x75b825
mov eax, 1
jmp 0x75b825
lea eax, [edx + edx*2]
sar eax, 8
jmp 0x75b825
cmp eax, 0xffff
jle 0x75c4ef
mov eax, dword [esp + 0x2ed8]
add edx, 1
mov byte [eax], dl
mov edi, dword [esp + 0x2ccc]
add eax, 1
mov dword [esp + 0x2ed8], eax
test edi, edi
je 0x75c476
mov eax, dword [esp + 0x2ed8]
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ccc], eax
jne 0x75c44d
movzx eax, byte [esp + 0x2cc5]
mov dword [esp + 0x2cd0], eax
jmp 0x75bfcc
cmp eax, 0xffff
jle 0x75c4fc
mov eax, dword [esp + 0x2ed8]
add edx, 1
mov byte [eax], dl
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
test eax, eax
je 0x75c4db
mov eax, dword [esp + 0x2ed8]
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x2ed8], eax
mov eax, dword [esp + 0x2ccc]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ccc], eax
jne 0x75c4b2
movzx eax, byte [esp + 0x2cc5]
mov dword [esp + 0x2cd0], eax
jmp 0x75bed4
add dword [esp + 0x2ccc], 1
jmp 0x75bfcc
add dword [esp + 0x2ccc], 1
jmp 0x75bed4
shl eax, 5
lea esi, [esp + 0x12a8]
lea edx, [esi + eax]
lea eax, [esp + 0x2cc4]
mov dword [esp], 1
call fcn.00756940
mov ecx, dword [esp + 0xf0]
xor eax, eax
sub ecx, ebx
jmp 0x75c19a
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd4]
mov edi, dword [esp + 0xe8]
movsx ecx, word [eax]
movsx eax, word [ebx]
movsx edx, word [edi]
cmp ecx, eax
jl 0x75c665
cmp edx, ecx
jge 0x75c56b
cmp eax, edx
mov ecx, eax
jge 0x75c56b
mov ecx, edx
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xd8]
movsx edx, word [esi + 2]
mov esi, dword [esp + 0xd4]
movsx ebx, word [edi + 2]
movsx eax, word [esi + 2]
cmp ebx, eax
jl 0x75c137
cmp edx, ebx
jge 0x75c13f
cmp eax, edx
mov ebx, eax
jge 0x75c13f
mov ebx, edx
jmp 0x75c13f
mov dword [esp + 8], 0x735
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d55
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x734
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d43
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x737
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d79
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x736
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d67
call sub.msvcrt.dll__assert
cmp ebx, ecx
jge 0x75c0e6
cmp eax, ebx
mov ecx, eax
jge 0x75c0e6
mov ecx, ebx
jmp 0x75c0e6
mov ecx, dword [esp + 0x2cc8]
jmp 0x75bf03
cmp eax, edx
mov ebx, eax
jle 0x75c13f
mov ebx, edx
jmp 0x75c13f
cmp eax, ebx
mov ecx, eax
jle 0x75c0e6
mov ecx, ebx
nop
jmp 0x75c0e6
cmp edx, ecx
jle 0x75c56b
cmp eax, edx
mov ecx, eax
jle 0x75c56b
jmp 0x75c569
mov dword [esp + 8], 0x70c
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d16
call sub.msvcrt.dll__assert
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x130], 0
mov dword [esp + 0x198], 0
shr edx, 0x1f
add edx, dword [esp + 0xbc]
sar edx, 1
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0xbc]
mov dword [esp + 0xf4], eax
mov edi, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x2f4c]
sar edi, 1
sar edx, 2
test edi, edi
mov dword [esp + 0x18c], edx
jle 0x75c755
mov ebx, dword [esp + 0x100]
xor edx, edx
mov dword [esp + 0x134], 0
sub ebx, edi
mov dword [esp + 0x4c], ebx
add ebx, edi
mov dword [esp + 0x48], ebx
mov esi, ecx
xor ebx, ebx
lea esi, [esi]
movzx eax, byte [esi]
add ebx, 1
add esi, 1
add edx, eax
cmp ebx, edi
jne 0x75c720
mov esi, dword [esp + 0x4c]
add dword [esp + 0x134], 1
cmp dword [esp + 0x134], edi
mov dword [esp + 0x170], esi
je 0x75d7cc
add ecx, dword [esp + 0x48]
jmp 0x75c719
mov edx, dword [esp + 0x18c]
xor ecx, ecx
shr edx, 0x1f
add edx, dword [esp + 0x18c]
sar edx, 1
mov eax, edx
mov dword [esp + 0x17c], edx
sar edx, 0x1f
idiv dword [esp + 0x18c]
mov dword [esp + 0xf8], eax
mov edx, dword [esp + 0x17c]
lea ebx, [esp + 0x22a8]
mov dword [esp + 8], 0x21c
lea edi, [esp + 0x1a8]
add edx, ecx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x18c]
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x2aa8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x6c], eax
call sub.msvcrt.dll_memcpy
mov esi, dword [esp + 0x98]
mov dword [esp + 0x2cbc], ebx
mov dword [esp + 0x2cb8], ebx
mov dword [esp + 8], 0x1080
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00580260
mov eax, dword [esp + 0x80]
cmp dword [ebp + 0x28f4], eax
je 0x75d182
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x2aac]
lea ecx, [esp + edx + 0x1ac]
movzx edx, byte [ecx]
imul edx, eax
add eax, dword [esp + 0x2aa8]
sar edx, 8
sub eax, edx
mov dword [esp + 0x2aac], edx
mov dword [esp + 0x2aa8], eax
movzx eax, byte [ecx]
movzx eax, byte [esp + eax + 0x2bb8]
mov byte [ecx], al
mov ecx, dword [esp + 0x2aac]
cmp ecx, 0xff
jg 0x75c8ff
mov edx, dword [esp + 0x2ab4]
test edx, edx
js 0x75c8bf
mov eax, dword [esp + 0x2aa8]
cmp eax, 0xff00
jg 0x75d0a9
mov eax, dword [esp + 0x2cbc]
mov byte [eax], dl
add eax, 1
mov dword [esp + 0x2cbc], eax
mov eax, dword [esp + 0x2ab0]
test eax, eax
je 0x75c8bf
mov eax, dword [esp + 0x2cbc]
mov byte [eax], 0xff
add eax, 1
mov dword [esp + 0x2cbc], eax
mov eax, dword [esp + 0x2ab0]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ab0], eax
jne 0x75c896
mov eax, dword [esp + 0x2aa8]
sar eax, 8
mov dword [esp + 0x2ab4], eax
mov ecx, dword [esp + 0x2aac]
movzx eax, byte [esp + 0x2aa8]
shl ecx, 8
shl eax, 8
cmp ecx, 0xff
mov dword [esp + 0x2aa8], eax
mov dword [esp + 0x2aac], ecx
jle 0x75c85b
mov ebx, dword [esp + 0xd4]
lea edi, [esp + 0x1a8]
mov esi, dword [esp + 0xd8]
movzx edx, byte [ebx + 8]
movzx eax, byte [esi + 8]
lea edx, [edx + eax + 1]
lea edx, [edi + edx]
movzx eax, byte [edx]
imul eax, ecx
add ecx, dword [esp + 0x2aa8]
sar eax, 8
sub ecx, eax
mov dword [esp + 0x2aac], eax
mov dword [esp + 0x2aa8], ecx
movzx eax, byte [edx]
movzx eax, byte [esp + eax + 0x2bb8]
mov byte [edx], al
cmp dword [esp + 0x2aac], 0xff
jg 0x75ca08
mov edx, dword [esp + 0x2ab4]
test edx, edx
js 0x75c9c9
mov eax, dword [esp + 0x2aa8]
cmp eax, 0xff00
jg 0x75d040
mov eax, dword [esp + 0x2cbc]
mov byte [eax], dl
mov esi, dword [esp + 0x2ab0]
add eax, 1
mov dword [esp + 0x2cbc], eax
test esi, esi
je 0x75c9c9
lea esi, [esi]
mov eax, dword [esp + 0x2cbc]
mov byte [eax], 0xff
add eax, 1
mov dword [esp + 0x2cbc], eax
mov eax, dword [esp + 0x2ab0]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ab0], eax
jne 0x75c9a0
mov eax, dword [esp + 0x2aa8]
sar eax, 8
mov dword [esp + 0x2ab4], eax
movzx eax, byte [esp + 0x2aa8]
shl eax, 8
mov dword [esp + 0x2aa8], eax
mov eax, dword [esp + 0x2aac]
shl eax, 8
cmp eax, 0xff
mov dword [esp + 0x2aac], eax
jle 0x75c961
movzx eax, byte [esp + 0x166]
lea edx, [esp + 0x1c8]
mov ecx, dword [esp + 0xf4]
mov dword [esp], 1
sub ecx, eax
lea eax, [esp + 0x2aa8]
call fcn.00756940
movzx eax, byte [esp + 0x165]
lea edx, [esp + 0x1e8]
mov ecx, dword [esp + 0xf8]
mov dword [esp], 1
sub ecx, eax
lea eax, [esp + 0x2aa8]
call fcn.00756940
movzx eax, byte [esp + 0x164]
lea edx, [esp + 0x208]
mov ecx, dword [esp + 0x6c]
mov dword [esp], 1
sub ecx, eax
lea eax, [esp + 0x2aa8]
call fcn.00756940
mov edx, dword [esp + 0x2cb8]
mov eax, dword [esp + 0x2cbc]
mov ebx, dword [ebp + 0x28d4]
sub eax, edx
mov edx, dword [esp + 0x2aac]
cmp dword [esp + 0x2ab4], 0x80000000
mov dword [esp + 0xb4], eax
adc eax, dword [esp + 0x2ab0]
xor esi, esi
test edx, 0xffff0000
je 0x75cacd
shr edx, 0x10
mov si, 0x10
test dx, 0xff00
je 0x75cada
shr edx, 8
add esi, 8
mov ecx, dword [esp + 0x198]
shl eax, 3
movzx edx, byte [edx + 0xbccde0]
sub eax, dword [esp + 0xc0]
sub dword [esp + 0x130], ecx
mov ecx, dword [esp + 0xf4]
sub eax, esi
sub eax, edx
imul eax, ebx
imul ecx, ecx
imul ecx, dword [esp + 0xbc]
add ecx, dword [esp + 0x130]
sar eax, 7
add ecx, eax
lea eax, [ebx + ebx*4]
lea eax, [eax + eax + 0xfe0100]
cmp ecx, eax
mov dword [esp + 0x184], ecx
jge 0x75d7b0
mov ecx, dword [esp + 0x184]
test ecx, ecx
js 0x75d794
cmp dword [esp + 0xf4], 0xff
ja 0x75d778
mov eax, dword [esp + 0x150]
movzx edx, byte [esp + 0x14b]
shl eax, 3
sub eax, dword [esp + 0xc0]
sub eax, dword [esp + 0x14c]
sub eax, edx
mov edx, dword [esp + 0x80]
imul eax, dword [esp + 0x8c]
sar eax, 7
add eax, dword [esp + 0xb0]
test edx, edx
mov dword [esp + 0x194], eax
jne 0x75cbf8
mov edi, dword [esp + 0x184]
mov edx, eax
sar edx, 8
sar edi, 8
cmp edx, 0x40
jle 0x75cbb9
cmp edx, edi
jge 0x75d18e
mov ebx, dword [ebp + 0x20d92c]
cmp edx, 0x7f
mov dword [esp + 0x9c], ebx
jg 0x75d514
movzx ebx, byte [edx + 0xbccd60]
cmp edi, 0x7f
jg 0x75d3b8
movzx edx, byte [edi + 0xbccd60]
mov esi, dword [esp + 0x9c]
lea eax, [ebx + esi]
sub eax, edx
mov dword [ebp + 0x20d92c], eax
mov edi, dword [esp + 0x80]
cmp dword [ebp + 0x28f4], edi
je 0x75cd54
mov eax, dword [esp + 0x108]
mov edx, dword [ebp + 8]
lea ecx, [eax + ebp + 0x17cc]
movzx eax, byte [ecx]
imul eax, edx
sar eax, 8
sub edx, eax
mov dword [ebp + 8], edx
movzx eax, byte [ecx]
movzx eax, byte [ebp + eax + 0x14]
mov byte [ecx], al
cmp dword [ebp + 8], 0xff
jg 0x75ccac
mov ecx, dword [ebp + 0x10]
test ecx, ecx
js 0x75cc89
mov eax, dword [ebp + 4]
cmp eax, 0xff00
jg 0x75d112
mov eax, dword [ebp + 0x218]
mov byte [eax], cl
lea edi, [eax + 1]
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x218], edi
test eax, eax
je 0x75cc89
mov eax, dword [ebp + 0x218]
mov byte [eax], 0xff
lea edi, [eax + 1]
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x218], edi
sub eax, 1
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x75cc6a
mov eax, dword [ebp + 4]
sar eax, 8
mov dword [ebp + 0x10], eax
movzx eax, byte [ebp + 4]
shl eax, 8
mov dword [ebp + 4], eax
mov eax, dword [ebp + 8]
shl eax, 8
cmp eax, 0xff
mov dword [ebp + 8], eax
jle 0x75cc3d
mov esi, dword [esp + 0x7c]
mov eax, ebp
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x2f70]
add esi, esi
add edi, 1
mov ecx, esi
add ebx, ebx
mov edx, edi
mov dword [esp], ebx
call fcn.0075b170
lea edx, [esi + 1]
mov ecx, edx
mov dword [esp + 0xa0], edx
mov edx, edi
mov dword [esp], ebx
add ebx, 1
mov dword [esp + 0x180], eax
mov eax, ebp
call fcn.0075b170
mov ecx, esi
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 0xa4], eax
mov eax, ebp
call fcn.0075b170
mov ecx, dword [esp + 0xa0]
mov edx, edi
mov dword [esp], ebx
mov esi, eax
mov eax, ebp
call fcn.0075b170
mov edx, dword [ebp + 0x28d4]
mov ecx, dword [esp + 0x180]
add ecx, dword [esp + 0xa4]
sar edx, 7
lea edx, [ecx + edx]
add edx, esi
lea eax, [edx + eax]
cmp eax, dword [esp + 0x194]
jge 0x75cd54
cmp eax, dword [esp + 0x184]
jl 0x75b669
mov ecx, dword [esp + 0x184]
cmp dword [esp + 0x194], ecx
jle 0x75d19f
cmp dword [ebp + 0x286c], 1
je 0x75d33c
mov ebx, dword [esp + 0xe8]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
movzx eax, byte [ebx + 4]
mov ebx, dword [eax*4 + 0xe73e50]
movsx eax, word [esi]
imul eax, ebx
lea edx, [eax + 0x80]
movzx eax, byte [edi + 4]
sar edx, 8
mov edi, dword [eax*4 + 0xe73e50]
movsx eax, word [ecx]
mov ecx, dword [esp + 0xd4]
imul eax, edi
lea esi, [eax + 0x80]
movzx eax, byte [ecx + 4]
sar esi, 8
mov ecx, dword [eax*4 + 0xe73e50]
mov eax, dword [esp + 0xd4]
movsx eax, word [eax]
mov dword [esp + 0x30], eax
imul eax, ecx
sub eax, 0xffffff80
sar eax, 8
cmp esi, eax
jge 0x75d025
cmp edx, esi
jle 0x75ce04
cmp eax, edx
mov esi, eax
jg 0x75d037
mov edx, dword [esp + 0xe8]
movsx eax, word [edx + 2]
imul ebx, eax
lea edx, [ebx + 0x80]
mov ebx, dword [esp + 0xd8]
sar edx, 8
movsx eax, word [ebx + 2]
imul edi, eax
lea ebx, [edi + 0x80]
mov edi, dword [esp + 0xd4]
sar ebx, 8
movsx eax, word [edi + 2]
imul ecx, eax
lea eax, [ecx + 0x80]
sar eax, 8
cmp ebx, eax
jge 0x75d009
cmp edx, ebx
jle 0x75ce5f
cmp eax, edx
mov ebx, eax
jg 0x75d01b
mov ecx, dword [esp + 0xa8]
lea edx, [esp + 0x22a8]
mov eax, dword [esp + 0xb4]
lea edi, [esp + 0x2aa8]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00580260
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], 0x21c
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edi, dword [esp + 0xa8]
add edi, dword [esp + 0xb4]
mov ecx, dword [ebp + 0x28f4]
mov eax, dword [ebp + 0x28ec]
mov dword [ebp + 0x218], edi
mov edi, dword [esp + 0x2f70]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x158], 1
shl eax, cl
imul edi, eax
sub ecx, dword [esp + 0x80]
mov dword [ebp + 0x214], edx
shl dword [esp + 0x158], cl
mov edx, edi
mov edi, dword [esp + 0x158]
add edx, dword [esp + 0x7c]
shl edx, cl
movzx ecx, byte [esp + 0xf4]
test edi, edi
mov byte [esp + 0x169], cl
movzx ecx, byte [esp + 0xf8]
mov byte [esp + 0x168], cl
movzx ecx, byte [esp + 0x6c]
mov byte [esp + 0x167], cl
movzx ecx, byte [esp + 0x80]
mov byte [esp + 0x3b], cl
jle 0x75cfdb
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x68], eax
lea eax, [edx + edx*4]
add eax, eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x154], 0
mov edi, dword [esp + 0x174]
xor edx, edx
nop
lea esi, [esi]
movzx ecx, byte [esp + 0x3b]
mov eax, edi
add edx, 1
add eax, dword [ebp + 0x20b11c]
add edi, 0xa
mov byte [eax + 9], cl
mov byte [eax + 8], 1
mov byte [eax + 4], 0
movzx ecx, byte [esp + 0x167]
mov word [eax + 2], bx
mov word [eax], si
mov byte [eax + 7], cl
movzx ecx, byte [esp + 0x168]
mov byte [eax + 6], cl
movzx ecx, byte [esp + 0x169]
mov byte [eax + 5], cl
cmp edx, dword [esp + 0x158]
jne 0x75cf70
add dword [esp + 0x154], 1
mov edi, dword [esp + 0x68]
add dword [esp + 0x174], edi
cmp dword [esp + 0x154], edx
jne 0x75cf62
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x1a8]
mov dword [esp + 8], 0x1080
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00580260
mov eax, dword [esp + 0x184]
jmp 0x75b669
cmp edx, ebx
jge 0x75ce5f
cmp eax, edx
mov ebx, eax
jge 0x75ce5f
mov ebx, edx
lea esi, [esi]
jmp 0x75ce5f
cmp edx, esi
jge 0x75ce04
cmp eax, edx
mov esi, eax
jge 0x75ce04
mov esi, edx
jmp 0x75ce04
cmp eax, 0xffff
jle 0x75d15f
mov eax, dword [esp + 0x2cbc]
add edx, 1
mov byte [eax], dl
mov ebx, dword [esp + 0x2ab0]
add eax, 1
mov dword [esp + 0x2cbc], eax
test ebx, ebx
je 0x75d095
mov eax, dword [esp + 0x2cbc]
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x2cbc], eax
mov eax, dword [esp + 0x2ab0]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ab0], eax
jne 0x75d06c
movzx eax, byte [esp + 0x2aa9]
mov dword [esp + 0x2ab4], eax
jmp 0x75c9da
cmp eax, 0xffff
jle 0x75d16c
mov eax, dword [esp + 0x2cbc]
add edx, 1
mov byte [eax], dl
mov edi, dword [esp + 0x2ab0]
add eax, 1
mov dword [esp + 0x2cbc], eax
test edi, edi
je 0x75d0fe
mov eax, dword [esp + 0x2cbc]
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x2cbc], eax
mov eax, dword [esp + 0x2ab0]
sub eax, 1
test eax, eax
mov dword [esp + 0x2ab0], eax
jne 0x75d0d5
movzx eax, byte [esp + 0x2aa9]
mov dword [esp + 0x2ab4], eax
jmp 0x75c8d0
cmp eax, 0xffff
jle 0x75d179
mov edx, dword [ebp + 0x218]
lea eax, [ecx + 1]
mov byte [edx], al
mov eax, dword [ebp + 0xc]
lea edi, [edx + 1]
mov dword [ebp + 0x218], edi
test eax, eax
je 0x75d153
mov eax, dword [ebp + 0x218]
mov byte [eax], 0
lea edi, [eax + 1]
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x218], edi
sub eax, 1
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x75d134
movzx eax, byte [ebp + 5]
mov dword [ebp + 0x10], eax
jmp 0x75cc92
add dword [esp + 0x2ab0], 1
jmp 0x75c9da
add dword [esp + 0x2ab0], 1
jmp 0x75c8d0
add dword [ebp + 0xc], 1
jmp 0x75cc92
mov ecx, dword [esp + 0x2aac]
jmp 0x75c8ff
mov eax, dword [ebp + 0x20c948]
add dword [ebp + 0x20d92c], eax
jmp 0x75cbf8
mov ecx, dword [esp + 0xb8]
lea ebx, [esp + 0x26a8]
mov esi, dword [esp + 0xa8]
lea edi, [esp + 0x2cc4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp], esi
call fcn.00580260
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edi
mov dword [esp + 8], 0x21c
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, esi
mov ecx, dword [ebp + 0x28f4]
add eax, dword [esp + 0xb8]
mov ebx, dword [esp + 0x2f70]
mov edx, dword [esp + 0xac]
mov dword [ebp + 0x218], eax
mov eax, dword [ebp + 0x28ec]
mov dword [esp + 0x160], 1
movzx edi, word [esp + 0xf0]
movzx esi, word [esp + 0xec]
mov dword [ebp + 0x214], edx
shl eax, cl
imul ebx, eax
sub ecx, dword [esp + 0x80]
shl dword [esp + 0x160], cl
mov edx, ebx
movzx ebx, byte [esp + 0x10c]
add edx, dword [esp + 0x7c]
mov word [esp + 0x16a], di
shl edx, cl
movzx ecx, byte [esp + 0x80]
mov byte [esp + 0x3b], cl
mov ecx, dword [esp + 0x160]
test ecx, ecx
jle 0x75d30e
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x64], eax
lea eax, [edx + edx*4]
add eax, eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x15c], 0
mov edi, dword [esp + 0x178]
xor edx, edx
movzx ecx, byte [esp + 0x3b]
mov eax, edi
add edx, 1
add eax, dword [ebp + 0x20b11c]
add edi, 0xa
mov byte [eax + 9], cl
mov byte [eax + 8], 0
mov byte [eax + 4], bl
movzx ecx, word [esp + 0x16a]
mov word [eax], si
mov word [eax + 2], cx
movzx ecx, byte [esp + 0x164]
mov byte [eax + 7], cl
movzx ecx, byte [esp + 0x165]
mov byte [eax + 6], cl
movzx ecx, byte [esp + 0x166]
mov byte [eax + 5], cl
cmp edx, dword [esp + 0x160]
jne 0x75d29c
add dword [esp + 0x15c], 1
mov edi, dword [esp + 0x64]
add dword [esp + 0x178], edi
cmp dword [esp + 0x15c], edx
jne 0x75d293
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x1228]
mov dword [esp + 8], 0x1080
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00580260
mov eax, dword [esp + 0x194]
jmp 0x75b669
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xe8]
movsx esi, word [edi]
movsx eax, word [ecx]
movsx edx, word [ebx]
cmp esi, eax
jge 0x75d3aa
cmp edx, esi
jle 0x75d368
cmp eax, edx
mov esi, eax
jg 0x75d3b4
mov ebx, dword [esp + 0xe8]
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
movsx eax, word [ebx + 2]
movsx ebx, word [edi + 2]
movsx edx, word [ecx + 2]
cmp ebx, edx
jge 0x75d670
cmp eax, ebx
jle 0x75ce5f
cmp edx, eax
mov ebx, edx
jle 0x75ce5f
mov ebx, eax
jmp 0x75ce5f
cmp edx, esi
jge 0x75d368
cmp eax, edx
mov esi, eax
jge 0x75d368
mov esi, edx
jmp 0x75d368
xor eax, eax
cmp edi, 0x3fffffff
jle 0x75d3ca
sub edi, 0x40000000
mov al, 1
lea edx, [eax + eax]
shl eax, 2
add eax, 1
shl eax, 0x1c
cmp edi, eax
jl 0x75d3df
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 0x1a
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d3f5
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0x18
cmp edi, eax
lea edx, [ecx + ecx]
jl 0x75d40b
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 0x16
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d421
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0x14
cmp edi, eax
lea edx, [ecx + ecx]
jl 0x75d437
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 0x12
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d44d
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0x10
cmp edi, eax
lea edx, [ecx + ecx]
jl 0x75d463
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 0xe
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d479
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0xc
cmp edi, eax
lea edx, [ecx + ecx]
jl 0x75d48f
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 0xa
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d4a5
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 8
cmp edi, eax
lea edx, [ecx + ecx]
jl 0x75d4bb
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 6
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d4d1
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 4
cmp edi, eax
lea edx, [ecx + ecx]
jl 0x75d4e7
sub edi, eax
add edx, 1
lea eax, [edx*4 + 1]
shl eax, 2
cmp edi, eax
lea ecx, [edx + edx]
jl 0x75d4fd
sub edi, eax
add ecx, 1
lea eax, [ecx*4 + 1]
cmp eax, edi
setle al
movzx eax, al
lea edx, [eax + ecx*2]
jmp 0x75cbe6
xor eax, eax
cmp edx, 0x3fffffff
jle 0x75d526
sub edx, 0x40000000
mov al, 1
lea ebx, [eax + eax]
shl eax, 2
add eax, 1
shl eax, 0x1c
cmp edx, eax
jl 0x75d53b
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
shl eax, 0x1a
cmp edx, eax
lea ecx, [ebx + ebx]
jl 0x75d551
sub edx, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0x18
cmp eax, edx
lea ebx, [ecx + ecx]
jg 0x75d567
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
shl eax, 0x16
cmp eax, edx
lea ecx, [ebx + ebx]
jg 0x75d57d
sub edx, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0x14
cmp edx, eax
lea ebx, [ecx + ecx]
jl 0x75d593
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
shl eax, 0x12
cmp eax, edx
lea ecx, [ebx + ebx]
jg 0x75d5a9
sub edx, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0x10
cmp eax, edx
lea ebx, [ecx + ecx]
jg 0x75d5bf
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
shl eax, 0xe
cmp eax, edx
lea esi, [ebx + ebx]
jg 0x75d5d5
sub edx, eax
add esi, 1
lea eax, [esi*4 + 1]
shl eax, 0xc
cmp edx, eax
lea ecx, [esi + esi]
jl 0x75d5eb
sub edx, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 0xa
cmp eax, edx
lea ebx, [ecx + ecx]
jg 0x75d601
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
shl eax, 8
cmp edx, eax
lea ecx, [ebx + ebx]
jl 0x75d617
sub edx, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 6
cmp eax, edx
lea ebx, [ecx + ecx]
jg 0x75d62d
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
shl eax, 4
cmp edx, eax
lea ecx, [ebx + ebx]
jl 0x75d643
sub edx, eax
add ecx, 1
lea eax, [ecx*4 + 1]
shl eax, 2
cmp edx, eax
lea ebx, [ecx + ecx]
jl 0x75d659
sub edx, eax
add ebx, 1
lea eax, [ebx*4 + 1]
cmp eax, edx
setle al
movzx eax, al
lea ebx, [eax + ebx*2]
jmp 0x75cbd6
cmp eax, ebx
jge 0x75ce5f
cmp edx, eax
mov ebx, edx
jge 0x75ce5f
mov ebx, eax
jmp 0x75ce5f
mov dword [esp + 0xb0], 0x7fffffff
mov dword [esp + 0xec], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xf0], 0
jmp 0x75bd16
mov dword [esp + 8], 0x70d
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d2b
call sub.msvcrt.dll__assert
mov edx, dword [esp + 0xbc]
xor esi, esi
mov dword [esp + 0x130], 0
shr edx, 0x1f
add edx, dword [esp + 0xbc]
sar edx, 1
lea edx, [ebx + edx]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0xbc]
mov edx, dword [esp + 0xd0]
add edx, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0x190]
xor edx, edx
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
mov edi, dword [eax*4 + 0xe16280]
add dword [esp + 0x130], edi
cmp edx, dword [esp + 0xd0]
jne 0x75d728
add esi, 1
cmp esi, dword [esp + 0xd0]
je 0x75d761
mov eax, dword [esp + 0x2c]
add dword [esp + 0x190], eax
jmp 0x75d71f
imul ebx, dword [esp + 0x74]
mov dword [esp + 0x74], ebx
add ebx, ebx
mov dword [esp + 0x198], ebx
jmp 0x75c6d4
mov dword [esp + 8], 0x779
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67dbd
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x778
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67db1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x777
mov dword [esp + 4], 0xb67a81
mov dword [esp], 0xb67d8c
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0x18c]
xor ecx, ecx
mov dword [esp + 0x13c], 0
shr eax, 0x1f
add eax, dword [esp + 0x18c]
sar eax, 1
mov dword [esp + 0x70], eax
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x2f50]
mov dword [esp + 0x138], eax
mov ebx, eax
xor esi, esi
lea esi, [esi]
movzx eax, byte [ebx]
add esi, 1
add ebx, 1
add ecx, eax
cmp esi, edi
jne 0x75d810
add dword [esp + 0x13c], 1
cmp dword [esp + 0x13c], esi
je 0x75d849
mov eax, dword [esp + 0x170]
add eax, esi
add dword [esp + 0x138], eax
mov ebx, dword [esp + 0x138]
jmp 0x75d807
add edx, dword [esp + 0x70]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x18c]
mov dword [esp + 0xf8], eax
jmp 0x75c784