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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4bc
cmp dword [0xf70790], 0x1fe7
ja 0x42949d
mov ecx, dword [0xf70790]
movzx eax, byte [ecx + 0xf6e210]
movzx edx, byte [ecx + 0xf6e212]
shl eax, 0x10
or edx, eax
movzx eax, byte [ecx + 0xf6e211]
mov ecx, 8
sub ecx, dword [0xf70bc0]
shl eax, 8
or edx, eax
shr edx, cl
movzx eax, dx
mov dword [0xc10ce0], eax
mov eax, edx
and eax, 0x8000
and dh, 0x40
mov dword [0xf70630], eax
je 0x4294a9
mov eax, dword [0xf70bc0]
mov ebp, dword [0xf70630]
mov dword [esp + 0x14], 0x176
add eax, 2
mov edx, eax
and eax, 7
shr edx, 3
add dword [0xf70790], edx
test ebp, ebp
mov dword [0xf70bc0], eax
je 0x427e85
mov edx, dword [0xc10ce0]
xor eax, eax
shr edx, 0xc
and edx, 3
add edx, 1
cmp edx, dword [0xf6c7a0]
mov dword [0xf6cde0], edx
setle al
sub eax, 1
and dword [0xf6c7a0], eax
mov eax, dword [0xf70bc0]
add eax, 2
mov ecx, eax
and eax, 7
shr ecx, 3
mov dword [0xf70bc0], eax
mov eax, edx
add dword [0xf70790], ecx
shl eax, 8
add eax, edx
mov dword [esp + 0x14], eax
xor ebx, ebx
lea esi, [esp + 0x4a9]
mov ecx, dword [0xf70790]
movzx eax, byte [ecx + 0xf6e210]
movzx edx, byte [ecx + 0xf6e212]
shl eax, 0x10
or edx, eax
movzx eax, byte [ecx + 0xf6e211]
mov ecx, 8
sub ecx, dword [0xf70bc0]
shl eax, 8
or edx, eax
shr edx, cl
movzx ecx, dx
mov eax, ecx
shr eax, 0xc
mov byte [ebx + esi], al
mov eax, dword [0xf70bc0]
add ebx, 1
add eax, 4
mov edx, eax
and eax, 7
shr edx, 3
add dword [0xf70790], edx
cmp ebx, 0x13
mov dword [0xf70bc0], eax
jne 0x427e8e
lea eax, [esp + 0x468]
mov ebx, 0xf6ce00
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
xor eax, eax
cld
mov dword [0xc10ce0], ecx
mov ecx, 0x10
mov edx, 1
rep stosd dword es:[edi], eax
movzx eax, byte [esp + 0x4a9]
and eax, 0xf
add dword [esp + eax*4 + 0x468], 1
movzx eax, byte [edx + esi]
add edx, 1
and eax, 0xf
add dword [esp + eax*4 + 0x468], 1
cmp edx, 0x13
jne 0x427f2a
mov dword [esp + 0x468], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0x44], 0
mov ecx, dword [esp + 0x46c]
mov dword [esp + 0x428], 0
mov edx, ecx
shl edx, 0xf
cmp edx, 0xffff
lea eax, [ecx + ecx]
jle 0x427f81
mov edx, 0xffff
mov dword [ebx + 8], edx
mov dword [ebx + 0x48], 0
add eax, dword [esp + 0x470]
mov dword [esp + 0x42c], 0
lea edx, [eax + eax]
shl eax, 0xe
cmp eax, 0xffff
jle 0x427faf
mov eax, 0xffff
mov dword [ebx + 0xc], eax
mov eax, edx
mov dword [ebx + 0x4c], ecx
add eax, dword [esp + 0x474]
mov dword [esp + 0x430], ecx
lea edi, [eax + eax]
shl eax, 0xd
cmp eax, 0xffff
jle 0x427fd7
mov eax, 0xffff
mov dword [ebx + 0x10], eax
mov edx, dword [esp + 0x470]
mov eax, edi
add edx, ecx
mov dword [ebx + 0x50], edx
add eax, dword [esp + 0x478]
mov dword [esp + 0x434], edx
lea ecx, [eax + eax]
shl eax, 0xc
cmp eax, 0xffff
jle 0x428008
mov eax, 0xffff
mov dword [ebx + 0x14], eax
mov eax, ecx
add edx, dword [esp + 0x474]
mov dword [ebx + 0x54], edx
add eax, dword [esp + 0x47c]
mov dword [esp + 0x438], edx
lea ecx, [eax + eax]
shl eax, 0xb
cmp eax, 0xffff
jle 0x428037
mov eax, 0xffff
mov dword [ebx + 0x18], eax
mov eax, ecx
add edx, dword [esp + 0x478]
mov dword [ebx + 0x58], edx
add eax, dword [esp + 0x480]
mov dword [esp + 0x43c], edx
lea ecx, [eax + eax]
shl eax, 0xa
cmp eax, 0xffff
jle 0x428066
mov eax, 0xffff
mov dword [ebx + 0x1c], eax
mov eax, ecx
add edx, dword [esp + 0x47c]
mov dword [ebx + 0x5c], edx
add eax, dword [esp + 0x484]
mov dword [esp + 0x440], edx
lea ecx, [eax + eax]
shl eax, 9
cmp eax, 0xffff
jle 0x428095
mov eax, 0xffff
mov dword [ebx + 0x20], eax
mov eax, ecx
add edx, dword [esp + 0x480]
mov dword [ebx + 0x60], edx
add eax, dword [esp + 0x488]
mov dword [esp + 0x444], edx
lea ecx, [eax + eax]
shl eax, 8
cmp eax, 0xffff
jle 0x4280c4
mov eax, 0xffff
mov dword [ebx + 0x24], eax
mov eax, ecx
add edx, dword [esp + 0x484]
mov dword [ebx + 0x64], edx
add eax, dword [esp + 0x48c]
mov dword [esp + 0x448], edx
lea ecx, [eax + eax]
shl eax, 7
cmp eax, 0xffff
jle 0x4280f3
mov eax, 0xffff
mov dword [ebx + 0x28], eax
mov eax, ecx
add edx, dword [esp + 0x488]
mov dword [ebx + 0x68], edx
add eax, dword [esp + 0x490]
mov dword [esp + 0x44c], edx
lea ecx, [eax + eax]
shl eax, 6
cmp eax, 0xffff
jle 0x428122
mov eax, 0xffff
mov dword [ebx + 0x2c], eax
mov eax, ecx
add edx, dword [esp + 0x48c]
mov dword [ebx + 0x6c], edx
add eax, dword [esp + 0x494]
mov dword [esp + 0x450], edx
lea ecx, [eax + eax]
shl eax, 5
cmp eax, 0xffff
jle 0x428151
mov eax, 0xffff
mov dword [ebx + 0x30], eax
mov eax, ecx
add edx, dword [esp + 0x490]
mov dword [ebx + 0x70], edx
add eax, dword [esp + 0x498]
mov dword [esp + 0x454], edx
lea ecx, [eax + eax]
shl eax, 4
cmp eax, 0xffff
jle 0x428180
mov eax, 0xffff
mov dword [ebx + 0x34], eax
mov eax, ecx
add edx, dword [esp + 0x494]
mov dword [ebx + 0x74], edx
add eax, dword [esp + 0x49c]
mov dword [esp + 0x458], edx
lea ecx, [eax + eax]
shl eax, 3
cmp eax, 0xffff
jle 0x4281af
mov eax, 0xffff
mov dword [ebx + 0x38], eax
mov eax, ecx
add edx, dword [esp + 0x498]
mov dword [ebx + 0x78], edx
add eax, dword [esp + 0x4a0]
mov dword [esp + 0x45c], edx
lea ecx, [eax + eax]
shl eax, 2
cmp eax, 0xffff
jle 0x4281de
mov eax, 0xffff
mov dword [ebx + 0x3c], eax
add edx, dword [esp + 0x49c]
mov dword [ebx + 0x7c], edx
add ecx, dword [esp + 0x4a4]
mov dword [esp + 0x460], edx
lea eax, [ecx + ecx]
cmp eax, 0xffff
mov dword [ebx + 0x40], eax
jle 0x42820b
mov eax, 0xffff
mov dword [ebx + 0x40], eax
mov eax, edx
xor ecx, ecx
add eax, dword [esp + 0x4a0]
mov dword [ebx + 0x80], eax
mov dword [esp + 0x464], eax
movzx eax, byte [ecx + esi]
test al, al
je 0x42824b
mov edx, eax
and edx, 0xf
mov eax, dword [esp + edx*4 + 0x428]
mov dword [ebx + eax*4 + 0x84], ecx
add eax, 1
mov dword [esp + edx*4 + 0x428], eax
add ecx, 1
cmp ecx, 0x13
jne 0x428226
mov edi, dword [esp + 0x14]
mov dword [0xf6ce00], 0x13
test edi, edi
jle 0x428381
mov dword [esp + 0x18], 0
cmp dword [0xf70790], 0x1ffb
ja 0x428845
mov ebx, dword [0xf70790]
mov ecx, 8
mov edi, dword [0xf70bc0]
movzx eax, byte [ebx + 0xf6e210]
movzx edx, byte [ebx + 0xf6e212]
sub ecx, edi
shl eax, 0x10
or edx, eax
movzx eax, byte [ebx + 0xf6e211]
shl eax, 8
or edx, eax
shr edx, cl
movzx eax, dx
and edx, 0xfffe
cmp edx, dword [0xf6ce24]
mov dword [0xc10ce0], eax
jae 0x428756
cmp edx, dword [0xf6ce14]
jae 0x428851
cmp edx, dword [0xf6ce0c]
jae 0x4293a1
cmp edx, dword [0xf6ce08]
sbb esi, esi
add esi, 2
cmp edx, dword [0xf6ce08]
sbb ebp, ebp
add ebp, 1
cmp edx, dword [0xf6ce08]
sbb ecx, ecx
not ecx
add ecx, 0xf
lea eax, [esi + edi]
shr eax, 3
lea edi, [eax + ebx]
mov eax, edx
mov ebx, esi
sub eax, dword [ebp*4 + 0xf6ce04]
add ebx, dword [0xf70bc0]
mov dword [0xf70790], edi
shr eax, cl
and ebx, 7
add eax, dword [esi*4 + 0xf6ce44]
cmp eax, dword [0xf6ce00]
mov dword [0xf70bc0], ebx
sbb edx, edx
and eax, edx
mov eax, dword [eax*4 + 0xf6ce84]
cmp eax, 0xf
mov dword [0xc10cf0], eax
ja 0x428796
mov edx, dword [esp + 0x18]
add al, byte [edx + 0xf70220]
and eax, 0xf
mov byte [esp + edx + 0x24], al
add edx, 1
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x14], edx
jg 0x428271
mov esi, dword [0xf70630]
test esi, esi
je 0x42894c
mov ebx, dword [0xf6cde0]
test ebx, ebx
jle 0x42937a
lea eax, [esp + 0x428]
xor ebp, ebp
lea esi, [esp + 0x24]
mov edi, eax
mov dword [esp + 0xc], eax
cld
mov ebx, dword [ebp*4 + 0xafafd0]
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov edx, 2
movzx eax, byte [esi]
and eax, 0xf
add dword [esp + eax*4 + 0x428], 1
movzx eax, byte [edx + esi - 1]
add edx, 1
and eax, 0xf
add dword [esp + eax*4 + 0x428], 1
cmp edx, 0x102
jne 0x4283d4
mov dword [esp + 0x428], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0x44], 0
mov eax, dword [esp + 0x42c]
mov dword [esp + 0x468], 0
lea edx, [eax + eax]
shl eax, 0xf
cmp eax, 0xffff
jle 0x42842c
mov eax, 0xffff
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x44]
add eax, dword [esp + 0x428]
mov dword [ebx + 0x48], eax
mov dword [esp + 0x46c], eax
mov eax, edx
add eax, dword [esp + 0x430]
lea edx, [eax + eax]
shl eax, 0xe
cmp eax, 0xffff
jle 0x42845e
mov eax, 0xffff
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0x48]
add eax, dword [esp + 0x42c]
mov dword [ebx + 0x4c], eax
mov dword [esp + 0x470], eax
mov eax, edx
add eax, dword [esp + 0x434]
lea edx, [eax + eax]
shl eax, 0xd
cmp eax, 0xffff
jle 0x428490
mov eax, 0xffff
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x4c]
add eax, dword [esp + 0x430]
mov dword [ebx + 0x50], eax
mov dword [esp + 0x474], eax
mov eax, edx
add eax, dword [esp + 0x438]
lea edx, [eax + eax]
shl eax, 0xc
cmp eax, 0xffff
jle 0x4284c2
mov eax, 0xffff
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x50]
add eax, dword [esp + 0x434]
mov dword [ebx + 0x54], eax
mov dword [esp + 0x478], eax
mov eax, edx
add eax, dword [esp + 0x43c]
lea edx, [eax + eax]
shl eax, 0xb
cmp eax, 0xffff
jle 0x4284f4
mov eax, 0xffff
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x54]
add eax, dword [esp + 0x438]
mov dword [ebx + 0x58], eax
mov dword [esp + 0x47c], eax
mov eax, edx
add eax, dword [esp + 0x440]
lea edx, [eax + eax]
shl eax, 0xa
cmp eax, 0xffff
jle 0x428526
mov eax, 0xffff
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x58]
add eax, dword [esp + 0x43c]
mov dword [ebx + 0x5c], eax
mov dword [esp + 0x480], eax
mov eax, edx
add eax, dword [esp + 0x444]
lea edx, [eax + eax]
shl eax, 9
cmp eax, 0xffff
jle 0x428558
mov eax, 0xffff
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x5c]
add eax, dword [esp + 0x440]
mov dword [ebx + 0x60], eax
mov dword [esp + 0x484], eax
mov eax, edx
add eax, dword [esp + 0x448]
lea edx, [eax + eax]
shl eax, 8
cmp eax, 0xffff
jle 0x42858a
mov eax, 0xffff
mov dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x60]
add eax, dword [esp + 0x444]
mov dword [ebx + 0x64], eax
mov dword [esp + 0x488], eax
mov eax, edx
add eax, dword [esp + 0x44c]
lea edx, [eax + eax]
shl eax, 7
cmp eax, 0xffff
jle 0x4285bc
mov eax, 0xffff
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x64]
add eax, dword [esp + 0x448]
mov dword [ebx + 0x68], eax
mov dword [esp + 0x48c], eax
mov eax, edx
add eax, dword [esp + 0x450]
lea edx, [eax + eax]
shl eax, 6
cmp eax, 0xffff
jle 0x4285ee
mov eax, 0xffff
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x68]
add eax, dword [esp + 0x44c]
mov dword [ebx + 0x6c], eax
mov dword [esp + 0x490], eax
mov eax, edx
add eax, dword [esp + 0x454]
lea edx, [eax + eax]
shl eax, 5
cmp eax, 0xffff
jle 0x428620
mov eax, 0xffff
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x6c]
add eax, dword [esp + 0x450]
mov dword [ebx + 0x70], eax
mov dword [esp + 0x494], eax
mov eax, edx
add eax, dword [esp + 0x458]
lea edx, [eax + eax]
shl eax, 4
cmp eax, 0xffff
jle 0x428652
mov eax, 0xffff
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x70]
add eax, dword [esp + 0x454]
mov dword [ebx + 0x74], eax
mov dword [esp + 0x498], eax
mov eax, edx
add eax, dword [esp + 0x45c]
lea edx, [eax + eax]
shl eax, 3
cmp eax, 0xffff
jle 0x428684
mov eax, 0xffff
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x74]
add eax, dword [esp + 0x458]
mov dword [ebx + 0x78], eax
mov dword [esp + 0x49c], eax
mov eax, edx
add eax, dword [esp + 0x460]
lea edx, [eax + eax]
shl eax, 2
cmp eax, 0xffff
jle 0x4286b6
mov eax, 0xffff
mov dword [ebx + 0x3c], eax
mov eax, dword [ebx + 0x78]
add eax, dword [esp + 0x45c]
mov dword [ebx + 0x7c], eax
add edx, dword [esp + 0x464]
mov dword [esp + 0x4a0], eax
lea eax, [edx + edx]
cmp eax, 0xffff
mov dword [ebx + 0x40], eax
jle 0x4286e6
mov eax, 0xffff
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x7c]
xor ecx, ecx
add eax, dword [esp + 0x460]
mov dword [ebx + 0x80], eax
mov dword [esp + 0x4a4], eax
movzx eax, byte [ecx + esi]
test al, al
je 0x428727
mov edx, eax
and edx, 0xf
mov eax, dword [esp + edx*4 + 0x468]
mov dword [ebx + eax*4 + 0x84], ecx
add eax, 1
mov dword [esp + edx*4 + 0x468], eax
add ecx, 1
cmp ecx, 0x101
jne 0x428702
add ebp, 1
add esi, 0x101
cmp dword [0xf6cde0], ebp
mov dword [ebx], 0x101
jle 0x42937a
mov edi, dword [esp + 0xc]
jmp 0x4283b0
cmp edx, dword [0xf6ce34]
jae 0x428885
cmp edx, dword [0xf6ce2c]
jae 0x4293f1
cmp edx, dword [0xf6ce28]
sbb esi, esi
add esi, 0xa
cmp edx, dword [0xf6ce28]
sbb ebp, ebp
add ebp, 9
cmp edx, dword [0xf6ce28]
sbb ecx, ecx
not ecx
add ecx, 7
jmp 0x42830a
cmp eax, 0x10
je 0x4288a5
cmp eax, 0x11
je 0x429441
movzx eax, byte [edi + 0xf6e210]
mov ecx, 8
movzx edx, byte [edi + 0xf6e212]
sub ecx, ebx
shl eax, 0x10
or edx, eax
movzx eax, byte [edi + 0xf6e211]
shl eax, 8
or edx, eax
lea eax, [ebx + 7]
shr eax, 3
add eax, edi
mov dword [0xf70790], eax
mov eax, dword [0xf70bc0]
shr edx, cl
and edx, 0xffff
mov dword [0xc10ce0], edx
shr edx, 9
add edx, 0xb
add eax, 7
and eax, 7
mov dword [0xf70bc0], eax
test edx, edx
jle 0x428373
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
jge 0x428381
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x24]
add ecx, dword [esp + 0x18]
add edx, eax
jmp 0x428832
add ecx, 1
cmp eax, dword [esp + 0x14]
je 0x428381
add eax, 1
cmp eax, edx
mov byte [ecx], 0
jne 0x428825
mov dword [esp + 0x18], eax
jmp 0x428373
xor eax, eax
call fcn.00427c10
jmp 0x428281
cmp edx, dword [0xf6ce1c]
jae 0x429419
cmp edx, dword [0xf6ce18]
sbb esi, esi
add esi, 6
cmp edx, dword [0xf6ce18]
sbb ebp, ebp
add ebp, 5
cmp edx, dword [0xf6ce18]
sbb ecx, ecx
not ecx
add ecx, 0xb
jmp 0x42830a
cmp edx, dword [0xf6ce3c]
jb 0x4293c9
mov esi, 0xf
mov ebp, 0xe
mov ecx, 1
jmp 0x42830a
movzx eax, byte [edi + 0xf6e210]
mov ecx, 8
movzx edx, byte [edi + 0xf6e212]
sub ecx, ebx
shl eax, 0x10
or edx, eax
movzx eax, byte [edi + 0xf6e211]
shl eax, 8
or edx, eax
lea eax, [ebx + 2]
shr eax, 3
add eax, edi
mov dword [0xf70790], eax
mov eax, dword [0xf70bc0]
shr edx, cl
and edx, 0xffff
mov dword [0xc10ce0], edx
shr edx, 0xe
add eax, 2
and eax, 7
cmp edx, 0xfffffffd
mov dword [0xf70bc0], eax
je 0x428373
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], eax
jge 0x428381
mov eax, dword [esp + 0x18]
add edx, 2
lea ecx, [esp + eax + 0x23]
movzx eax, byte [ecx]
mov byte [ecx + 1], al
add dword [esp + 0x18], 1
test edx, edx
jle 0x428373
mov eax, dword [esp + 0x14]
sub edx, 1
add ecx, 1
cmp dword [esp + 0x18], eax
jne 0x42891b
mov esi, dword [0xf70630]
test esi, esi
jne 0x42838f
mov edi, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x10
cld
mov ebx, 0xf6c8b0
mov edx, 1
rep stosd dword es:[edi], eax
movzx eax, byte [esp + 0x24]
and eax, 0xf
add dword [esp + eax*4 + 0x468], 1
movzx eax, byte [esp + edx + 0x24]
add edx, 1
and eax, 0xf
add dword [esp + eax*4 + 0x468], 1
cmp edx, 0x12a
jne 0x428974
mov dword [esp + 0x468], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0x44], 0
mov ecx, dword [esp + 0x46c]
mov dword [esp + 0x428], 0
mov edx, ecx
shl edx, 0xf
cmp edx, 0xffff
lea eax, [ecx + ecx]
jle 0x4289cf
mov edx, 0xffff
mov dword [ebx + 8], edx
mov dword [ebx + 0x48], 0
add eax, dword [esp + 0x470]
mov dword [esp + 0x42c], 0
lea edx, [eax + eax]
shl eax, 0xe
cmp eax, 0xffff
jle 0x4289fd
mov eax, 0xffff
mov dword [ebx + 0xc], eax
mov eax, edx
mov dword [ebx + 0x4c], ecx
add eax, dword [esp + 0x474]
mov dword [esp + 0x430], ecx
lea esi, [eax + eax]
shl eax, 0xd
cmp eax, 0xffff
jle 0x428a25
mov eax, 0xffff
mov dword [ebx + 0x10], eax
mov edx, dword [esp + 0x470]
mov eax, esi
add edx, ecx
mov dword [ebx + 0x50], edx
add eax, dword [esp + 0x478]
mov dword [esp + 0x434], edx
lea ecx, [eax + eax]
shl eax, 0xc
cmp eax, 0xffff
jle 0x428a56
mov eax, 0xffff
mov dword [ebx + 0x14], eax
mov eax, ecx
add edx, dword [esp + 0x474]
mov dword [ebx + 0x54], edx
add eax, dword [esp + 0x47c]
mov dword [esp + 0x438], edx
lea ecx, [eax + eax]
shl eax, 0xb
cmp eax, 0xffff
jle 0x428a85
mov eax, 0xffff
mov dword [ebx + 0x18], eax
mov eax, ecx
add edx, dword [esp + 0x478]
mov dword [ebx + 0x58], edx
add eax, dword [esp + 0x480]
mov dword [esp + 0x43c], edx
lea ecx, [eax + eax]
shl eax, 0xa
cmp eax, 0xffff
jle 0x428ab4
mov eax, 0xffff
mov dword [ebx + 0x1c], eax
mov eax, ecx
add edx, dword [esp + 0x47c]
mov dword [ebx + 0x5c], edx
add eax, dword [esp + 0x484]
mov dword [esp + 0x440], edx
lea ecx, [eax + eax]
shl eax, 9
cmp eax, 0xffff
jle 0x428ae3
mov eax, 0xffff
mov dword [ebx + 0x20], eax
mov eax, ecx
add edx, dword [esp + 0x480]
mov dword [ebx + 0x60], edx
add eax, dword [esp + 0x488]
mov dword [esp + 0x444], edx
lea ecx, [eax + eax]
shl eax, 8
cmp eax, 0xffff
jle 0x428b12
mov eax, 0xffff
mov dword [ebx + 0x24], eax
mov eax, ecx
add edx, dword [esp + 0x484]
mov dword [ebx + 0x64], edx
add eax, dword [esp + 0x48c]
mov dword [esp + 0x448], edx
lea ecx, [eax + eax]
shl eax, 7
cmp eax, 0xffff
jle 0x428b41
mov eax, 0xffff
mov dword [ebx + 0x28], eax
mov eax, ecx
add edx, dword [esp + 0x488]
mov dword [ebx + 0x68], edx
add eax, dword [esp + 0x490]
mov dword [esp + 0x44c], edx
lea ecx, [eax + eax]
shl eax, 6
cmp eax, 0xffff
jle 0x428b70
mov eax, 0xffff
mov dword [ebx + 0x2c], eax
mov eax, ecx
add edx, dword [esp + 0x48c]
mov dword [ebx + 0x6c], edx
add eax, dword [esp + 0x494]
mov dword [esp + 0x450], edx
lea ecx, [eax + eax]
shl eax, 5
cmp eax, 0xffff
jle 0x428b9f
mov eax, 0xffff
mov dword [ebx + 0x30], eax
mov eax, ecx
add edx, dword [esp + 0x490]
mov dword [ebx + 0x70], edx
add eax, dword [esp + 0x498]
mov dword [esp + 0x454], edx
lea ecx, [eax + eax]
shl eax, 4
cmp eax, 0xffff
jle 0x428bce
mov eax, 0xffff
mov dword [ebx + 0x34], eax
mov eax, ecx
add edx, dword [esp + 0x494]
mov dword [ebx + 0x74], edx
add eax, dword [esp + 0x49c]
mov dword [esp + 0x458], edx
lea ecx, [eax + eax]
shl eax, 3
cmp eax, 0xffff
jle 0x428bfd
mov eax, 0xffff
mov dword [ebx + 0x38], eax
mov eax, ecx
add edx, dword [esp + 0x498]
mov dword [ebx + 0x78], edx
add eax, dword [esp + 0x4a0]
mov dword [esp + 0x45c], edx
lea ecx, [eax + eax]
shl eax, 2
cmp eax, 0xffff
jle 0x428c2c
mov eax, 0xffff
mov dword [ebx + 0x3c], eax
add edx, dword [esp + 0x49c]
mov dword [ebx + 0x7c], edx
add ecx, dword [esp + 0x4a4]
mov dword [esp + 0x460], edx
lea eax, [ecx + ecx]
cmp eax, 0xffff
mov dword [ebx + 0x40], eax
jle 0x428c59
mov eax, 0xffff
mov dword [ebx + 0x40], eax
mov eax, edx
xor ecx, ecx
add eax, dword [esp + 0x4a0]
mov dword [ebx + 0x80], eax
mov dword [esp + 0x464], eax
movzx eax, byte [esp + ecx + 0x24]
test al, al
je 0x428c9a
mov edx, eax
and edx, 0xf
mov eax, dword [esp + edx*4 + 0x428]
mov dword [ebx + eax*4 + 0x84], ecx
add eax, 1
mov dword [esp + edx*4 + 0x428], eax
add ecx, 1
cmp ecx, 0x12a
jne 0x428c74
cld
mov dword [0xf6c8b0], 0x12a
xor eax, eax
mov cx, 0x10
lea edi, [esp + 0x428]
mov ebx, 0xf70640
rep stosd dword es:[edi], eax
mov edx, 1
movzx eax, byte [esp + 0x14e]
and eax, 0xf
add dword [esp + eax*4 + 0x428], 1
movzx eax, byte [esp + edx + 0x14e]
add edx, 1
and eax, 0xf
add dword [esp + eax*4 + 0x428], 1
cmp edx, 0x30
jne 0x428cdc
mov dword [esp + 0x428], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0x44], 0
mov ecx, dword [esp + 0x42c]
mov dword [esp + 0x468], 0
mov edx, ecx
shl edx, 0xf
cmp edx, 0xffff
lea eax, [ecx + ecx]
jle 0x428d37
mov edx, 0xffff
mov dword [ebx + 8], edx
mov dword [ebx + 0x48], 0
add eax, dword [esp + 0x430]
mov dword [esp + 0x46c], 0
lea edx, [eax + eax]
shl eax, 0xe
cmp eax, 0xffff
jle 0x428d65
mov eax, 0xffff
mov dword [ebx + 0xc], eax
mov eax, edx
mov dword [ebx + 0x4c], ecx
add eax, dword [esp + 0x434]
mov dword [esp + 0x470], ecx
lea esi, [eax + eax]
shl eax, 0xd
cmp eax, 0xffff
jle 0x428d8d
mov eax, 0xffff
mov dword [ebx + 0x10], eax
mov edx, dword [esp + 0x430]
mov eax, esi
add edx, ecx
mov dword [ebx + 0x50], edx
add eax, dword [esp + 0x438]
mov dword [esp + 0x474], edx
lea ecx, [eax + eax]
shl eax, 0xc
cmp eax, 0xffff
jle 0x428dbe
mov eax, 0xffff
mov dword [ebx + 0x14], eax
mov eax, ecx
add edx, dword [esp + 0x434]
mov dword [ebx + 0x54], edx
add eax, dword [esp + 0x43c]
mov dword [esp + 0x478], edx
lea ecx, [eax + eax]
shl eax, 0xb
cmp eax, 0xffff
jle 0x428ded
mov eax, 0xffff
mov dword [ebx + 0x18], eax
mov eax, ecx
add edx, dword [esp + 0x438]
mov dword [ebx + 0x58], edx
add eax, dword [esp + 0x440]
mov dword [esp + 0x47c], edx
lea ecx, [eax + eax]
shl eax, 0xa
cmp eax, 0xffff
jle 0x428e1c
mov eax, 0xffff
mov dword [ebx + 0x1c], eax
mov eax, ecx
add edx, dword [esp + 0x43c]
mov dword [ebx + 0x5c], edx
add eax, dword [esp + 0x444]
mov dword [esp + 0x480], edx
lea ecx, [eax + eax]
shl eax, 9
cmp eax, 0xffff
jle 0x428e4b
mov eax, 0xffff
mov dword [ebx + 0x20], eax
mov eax, ecx
add edx, dword [esp + 0x440]
mov dword [ebx + 0x60], edx
add eax, dword [esp + 0x448]
mov dword [esp + 0x484], edx
lea ecx, [eax + eax]
shl eax, 8
cmp eax, 0xffff
jle 0x428e7a
mov eax, 0xffff
mov dword [ebx + 0x24], eax
mov eax, ecx
add edx, dword [esp + 0x444]
mov dword [ebx + 0x64], edx
add eax, dword [esp + 0x44c]
mov dword [esp + 0x488], edx
lea ecx, [eax + eax]
shl eax, 7
cmp eax, 0xffff
jle 0x428ea9
mov eax, 0xffff
mov dword [ebx + 0x28], eax
mov eax, ecx
add edx, dword [esp + 0x448]
mov dword [ebx + 0x68], edx
add eax, dword [esp + 0x450]
mov dword [esp + 0x48c], edx
lea ecx, [eax + eax]
shl eax, 6
cmp eax, 0xffff
jle 0x428ed8
mov eax, 0xffff
mov dword [ebx + 0x2c], eax
mov eax, ecx
add edx, dword [esp + 0x44c]
mov dword [ebx + 0x6c], edx
add eax, dword [esp + 0x454]
mov dword [esp + 0x490], edx
lea ecx, [eax + eax]
shl eax, 5
cmp eax, 0xffff
jle 0x428f07
mov eax, 0xffff
mov dword [ebx + 0x30], eax
mov eax, ecx
add edx, dword [esp + 0x450]
mov dword [ebx + 0x70], edx
add eax, dword [esp + 0x458]
mov dword [esp + 0x494], edx
lea ecx, [eax + eax]
shl eax, 4
cmp eax, 0xffff
jle 0x428f36
mov eax, 0xffff
mov dword [ebx + 0x34], eax
mov eax, ecx
add edx, dword [esp + 0x454]
mov dword [ebx + 0x74], edx
add eax, dword [esp + 0x45c]
mov dword [esp + 0x498], edx
lea ecx, [eax + eax]
shl eax, 3
cmp eax, 0xffff
jle 0x428f65
mov eax, 0xffff
mov dword [ebx + 0x38], eax
mov eax, ecx
add edx, dword [esp + 0x458]
mov dword [ebx + 0x78], edx
add eax, dword [esp + 0x460]
mov dword [esp + 0x49c], edx
lea ecx, [eax + eax]
shl eax, 2
cmp eax, 0xffff
jle 0x428f94
mov eax, 0xffff
mov dword [ebx + 0x3c], eax
add edx, dword [esp + 0x45c]
mov dword [ebx + 0x7c], edx
add ecx, dword [esp + 0x464]
mov dword [esp + 0x4a0], edx
lea eax, [ecx + ecx]
cmp eax, 0xffff
mov dword [ebx + 0x40], eax
jle 0x428fc1
mov eax, 0xffff
mov dword [ebx + 0x40], eax
mov eax, edx
xor ecx, ecx
add eax, dword [esp + 0x460]
mov dword [ebx + 0x80], eax
mov dword [esp + 0x4a4], eax
movzx eax, byte [esp + ecx + 0x14e]
test al, al
je 0x429005
mov edx, eax
and edx, 0xf
mov eax, dword [esp + edx*4 + 0x468]
mov dword [ebx + eax*4 + 0x84], ecx
add eax, 1
mov dword [esp + edx*4 + 0x468], eax
add ecx, 1
cmp ecx, 0x30
jne 0x428fdc
mov edi, dword [esp + 0x10]
xor eax, eax
mov cl, 0x10
cld
mov dword [0xf70640], 0x30
mov ebx, 0xf6cee0
mov edx, 1
rep stosd dword es:[edi], eax
movzx eax, byte [esp + 0x17e]
and eax, 0xf
add dword [esp + eax*4 + 0x468], 1
movzx eax, byte [esp + edx + 0x17e]
add edx, 1
and eax, 0xf
add dword [esp + eax*4 + 0x468], 1
cmp edx, 0x1c
jne 0x42903f
mov dword [esp + 0x468], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0x44], 0
mov ecx, dword [esp + 0x46c]
mov dword [esp + 0x428], 0
mov edx, ecx
shl edx, 0xf
cmp edx, 0xffff
lea eax, [ecx + ecx]
jle 0x42909a
mov edx, 0xffff
mov dword [ebx + 8], edx
mov dword [ebx + 0x48], 0
add eax, dword [esp + 0x470]
mov dword [esp + 0x42c], 0
lea edx, [eax + eax]
shl eax, 0xe
cmp eax, 0xffff
jle 0x4290c8
mov eax, 0xffff
mov dword [ebx + 0xc], eax
mov eax, edx
mov dword [ebx + 0x4c], ecx
add eax, dword [esp + 0x474]
mov dword [esp + 0x430], ecx
lea esi, [eax + eax]
shl eax, 0xd
cmp eax, 0xffff
jle 0x4290f0
mov eax, 0xffff
mov dword [ebx + 0x10], eax
mov edx, dword [esp + 0x470]
mov eax, esi
add edx, ecx
mov dword [ebx + 0x50], edx
add eax, dword [esp + 0x478]
mov dword [esp + 0x434], edx
lea ecx, [eax + eax]
shl eax, 0xc
cmp eax, 0xffff
jle 0x429121
mov eax, 0xffff
mov dword [ebx + 0x14], eax
mov eax, ecx
add edx, dword [esp + 0x474]
mov dword [ebx + 0x54], edx
add eax, dword [esp + 0x47c]
mov dword [esp + 0x438], edx
lea ecx, [eax + eax]
shl eax, 0xb
cmp eax, 0xffff
jle 0x429150
mov eax, 0xffff
mov dword [ebx + 0x18], eax
mov eax, ecx
add edx, dword [esp + 0x478]
mov dword [ebx + 0x58], edx
add eax, dword [esp + 0x480]
mov dword [esp + 0x43c], edx
lea ecx, [eax + eax]
shl eax, 0xa
cmp eax, 0xffff
jle 0x42917f
mov eax, 0xffff
mov dword [ebx + 0x1c], eax
mov eax, ecx
add edx, dword [esp + 0x47c]
mov dword [ebx + 0x5c], edx
add eax, dword [esp + 0x484]
mov dword [esp + 0x440], edx
lea ecx, [eax + eax]
shl eax, 9
cmp eax, 0xffff
jle 0x4291ae
mov eax, 0xffff
mov dword [ebx + 0x20], eax
mov eax, ecx
add edx, dword [esp + 0x480]
mov dword [ebx + 0x60], edx
add eax, dword [esp + 0x488]
mov dword [esp + 0x444], edx
lea ecx, [eax + eax]
shl eax, 8
cmp eax, 0xffff
jle 0x4291dd
mov eax, 0xffff
mov dword [ebx + 0x24], eax
mov eax, ecx
add edx, dword [esp + 0x484]
mov dword [ebx + 0x64], edx
add eax, dword [esp + 0x48c]
mov dword [esp + 0x448], edx
lea ecx, [eax + eax]
shl eax, 7
cmp eax, 0xffff
jle 0x42920c
mov eax, 0xffff
mov dword [ebx + 0x28], eax
mov eax, ecx
add edx, dword [esp + 0x488]
mov dword [ebx + 0x68], edx
add eax, dword [esp + 0x490]
mov dword [esp + 0x44c], edx
lea ecx, [eax + eax]
shl eax, 6
cmp eax, 0xffff
jle 0x42923b
mov eax, 0xffff
mov dword [ebx + 0x2c], eax
mov eax, ecx
add edx, dword [esp + 0x48c]
mov dword [ebx + 0x6c], edx
add eax, dword [esp + 0x494]
mov dword [esp + 0x450], edx
lea ecx, [eax + eax]
shl eax, 5
cmp eax, 0xffff
jle 0x42926a
mov eax, 0xffff
mov dword [ebx + 0x30], eax
mov eax, ecx
add edx, dword [esp + 0x490]
mov dword [ebx + 0x70], edx
add eax, dword [esp + 0x498]
mov dword [esp + 0x454], edx
lea ecx, [eax + eax]
shl eax, 4
cmp eax, 0xffff
jle 0x429299
mov eax, 0xffff
mov dword [ebx + 0x34], eax
mov eax, ecx
add edx, dword [esp + 0x494]
mov dword [ebx + 0x74], edx
add eax, dword [esp + 0x49c]
mov dword [esp + 0x458], edx
lea ecx, [eax + eax]
shl eax, 3
cmp eax, 0xffff
jle 0x4292c8
mov eax, 0xffff
mov dword [ebx + 0x38], eax
mov eax, ecx
add edx, dword [esp + 0x498]
mov dword [ebx + 0x78], edx
add eax, dword [esp + 0x4a0]
mov dword [esp + 0x45c], edx
lea ecx, [eax + eax]
shl eax, 2
cmp eax, 0xffff
jle 0x4292f7
mov eax, 0xffff
mov dword [ebx + 0x3c], eax
add edx, dword [esp + 0x49c]
mov dword [ebx + 0x7c], edx
add ecx, dword [esp + 0x4a4]
mov dword [esp + 0x460], edx
lea eax, [ecx + ecx]
cmp eax, 0xffff
mov dword [ebx + 0x40], eax
jle 0x429324
mov eax, 0xffff
mov dword [ebx + 0x40], eax
mov eax, edx
xor ecx, ecx
add eax, dword [esp + 0x4a0]
mov dword [ebx + 0x80], eax
mov dword [esp + 0x464], eax
movzx eax, byte [esp + ecx + 0x17e]
test al, al
je 0x429368
mov edx, eax
and edx, 0xf
mov eax, dword [esp + edx*4 + 0x428]
mov dword [ebx + eax*4 + 0x84], ecx
add eax, 1
mov dword [esp + edx*4 + 0x428], eax
add ecx, 1
cmp ecx, 0x1c
jne 0x42933f
mov dword [0xf6cee0], 0x1c
lea edx, [esp + 0x24]
mov dword [esp + 8], 0x404
mov dword [esp + 4], edx
mov dword [esp], 0xf70220
call sub.msvcrt.dll_memcpy
add esp, 0x4bc
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, dword [0xf6ce10]
sbb esi, esi
add esi, 4
cmp edx, dword [0xf6ce10]
sbb ebp, ebp
add ebp, 3
cmp edx, dword [0xf6ce10]
sbb ecx, ecx
not ecx
add ecx, 0xd
jmp 0x42830a
cmp edx, dword [0xf6ce38]
sbb esi, esi
add esi, 0xe
cmp edx, dword [0xf6ce38]
sbb ebp, ebp
add ebp, 0xd
cmp edx, dword [0xf6ce38]
sbb ecx, ecx
not ecx
add ecx, 3
jmp 0x42830a
cmp edx, dword [0xf6ce30]
sbb esi, esi
add esi, 0xc
cmp edx, dword [0xf6ce30]
sbb ebp, ebp
add ebp, 0xb
cmp edx, dword [0xf6ce30]
sbb ecx, ecx
not ecx
add ecx, 5
jmp 0x42830a
cmp edx, dword [0xf6ce20]
sbb esi, esi
add esi, 8
cmp edx, dword [0xf6ce20]
sbb ebp, ebp
add ebp, 7
cmp edx, dword [0xf6ce20]
sbb ecx, ecx
not ecx
add ecx, 9
jmp 0x42830a
movzx eax, byte [edi + 0xf6e210]
mov ecx, 8
movzx edx, byte [edi + 0xf6e212]
sub ecx, ebx
shl eax, 0x10
or edx, eax
movzx eax, byte [edi + 0xf6e211]
shl eax, 8
or edx, eax
lea eax, [ebx + 3]
shr eax, 3
add eax, edi
mov dword [0xf70790], eax
mov eax, dword [0xf70bc0]
shr edx, cl
and edx, 0xffff
mov dword [0xc10ce0], edx
shr edx, 0xd
add edx, 3
add eax, 3
and eax, 7
mov dword [0xf70bc0], eax
jmp 0x4287ff
xor eax, eax
call fcn.00427c10
jmp 0x427dba
mov dword [esp + 8], 0x404
mov dword [esp + 4], 0
mov dword [esp], 0xf70220
call sub.msvcrt.dll_memset
jmp 0x427e09