Function at 0x427487
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.00408520
mov dword [esp + 0x11e8], 0x2350214c
mov dword [esp + 0x11ec], 0x27612561
mov dword [esp + 0x11f0], 0x5b295921
mov dword [esp + 0x11f4], 0x5f2c5d28
mov dword [esp + 0x11f8], 0x533e5139
mov dword [esp + 0x11fc], 0x57255521
mov dword [esp + 0x1200], 0x4b38490d
mov dword [esp + 0x1204], 0x4d4c
mov byte [esp + 0x1208], 0
xor eax, eax
mov ecx, eax
add cl, 0xb8
xor cl, byte [esp + eax + 0x11e8]
add cl, 0x68
mov byte [esp + eax + 0x11e8], cl
add eax, 0x788edeb
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov ecx, eax
xor ecx, 0x788edeb
and eax, 0x1214
add eax, eax
sub eax, ecx
cmp eax, 0x21
jb case.default.0x42611f
lea eax, [esp + 0x14]
lea ebp, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00443000
add esp, 0x14
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x449664]
jmp dword [0x449670]
inc esi
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x449684]
mov edi, dword [esp + 0x4c]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x426153
mov eax, 0xffffffff
push eax
call fcn.00408640
add esp, 4
mov dword [esp + 0x60], edi
mov edi, eax
lea eax, [esp + 0x60]
push eax
push edi
push esi
push dword [esp + 0x20]
call fcn.00443110
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449694]
jmp dword [0x449704]
lea eax, [esp + 0x48]
push dword [esp + 0x14]
push 0
push 0x20019
push eax
push edi
call fcn.00443000
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44969c]
jmp dword [0x449704]
mov dword [esp + 0x34], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x78], 0xd77fc91d
mov dword [esp + 0x7c], 0xd36cd57b
mov dword [esp + 0x80], 0xdf61d163
mov dword [esp + 0x84], 0xdb70dd6f
mov dword [esp + 0x88], 0xa702d964
mov dword [esp + 0x8c], 0xa30ba57f
mov dword [esp + 0x90], 0xaf02a112
mov dword [esp + 0x94], 0xab11ad1f
mov dword [esp + 0x98], 0xb756a917
mov dword [esp + 0x9c], 0xb31fb561
mov dword [esp + 0xa0], 0xbf01b10f
mov dword [esp + 0xa4], 0xbb11bd1d
mov dword [esp + 0xa8], 0x8734b911
mov dword [esp + 0xac], 0x8362852f
mov dword [esp + 0xb0], 0x8f33815f
mov dword [esp + 0xb4], 0x8b358d22
mov dword [esp + 0xb8], 0x97298931
mov dword [esp + 0xbc], 0x933f9528
mov dword [esp + 0xc0], 0x9f3a9125
mov dword [esp + 0xc4], 0x9b249d4c
mov dword [esp + 0xc8], 0x67cc992b
mov dword [esp + 0xcc], 0x63d665cd
mov dword [esp + 0xd0], 0x6fd161cd
mov dword [esp + 0xd4], 0x6b936dc8
mov dword [esp + 0xd8], 0x778d6997
mov dword [esp + 0xdc], 0x73bd7589
mov dword [esp + 0xe0], 0x7fb471ba
mov dword [esp + 0xe4], 0x7b867d8c
mov dword [esp + 0xe8], 0x47b97989
mov dword [esp + 0xec], 0x43b345b5
mov dword [esp + 0xf0], 0x4fe241b1
mov dword [esp + 0xf4], 0x4b844db3
mov dword [esp + 0xf8], 0x57ae49b0
mov dword [esp + 0xfc], 0x53a25595
mov dword [esp + 0x100], 0x5faf51a0
mov dword [esp + 0x104], 0x5ba65dac
mov dword [esp + 0x108], 0x27d85996
mov dword [esp + 0x10c], 0x23d825e5
mov dword [esp + 0x110], 0x2fd521da
mov dword [esp + 0x114], 0x2b8e2dd6
mov word [esp + 0x118], 0x2928
mov byte [ebx + 4], 0
mov word [ebx + 2], 0
mov eax, 0x2e
mov ecx, 0xd1
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x4a]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x1a
mov byte [esp + eax + 0x4a], dl
inc eax
dec ecx
cmp eax, 0xd3
jne 0x4263a0
lea edi, [esp + 0x9be]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
lea edi, [esp + 0xa5e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x99ed9bcf
mov dword [esp + 0x7c], 0xa5d8a7f5
mov dword [esp + 0x80], 0xa1dfa3d5
mov dword [esp + 0x84], 0xadc4afd1
mov dword [esp + 0x88], 0xa9ceabd0
mov dword [esp + 0x8c], 0xb5c1b7f1
mov dword [esp + 0x90], 0xb1deb3c6
mov dword [esp + 0x94], 0xbdc7bfc1
mov dword [esp + 0x98], 0xb99abbc1
mov dword [esp + 0x9c], 0xc59ac7ea
mov dword [esp + 0xa0], 0xc18fc3a0
mov dword [esp + 0xa4], 0xcdb0cfbb
mov dword [esp + 0xa8], 0xc9a1cbb2
mov dword [esp + 0xac], 0xd5aad7ba
mov dword [esp + 0xb0], 0xd1b9d38e
mov dword [esp + 0xb4], 0xdda3dfae
mov dword [esp + 0xb8], 0xd9abdbab
mov dword [esp + 0xbc], 0xe582e7aa
mov dword [esp + 0xc0], 0xe195e3bd
mov dword [esp + 0xc4], 0xed82ef92
mov dword [esp + 0xc8], 0xe993eb9d
mov dword [esp + 0xcc], 0xf5d6f795
mov dword [esp + 0xd0], 0xf199f3a7
mov dword [esp + 0xd4], 0xfd83ff8d
mov dword [esp + 0xd8], 0xf993fb93
mov dword [esp + 0xdc], 0x574078f
mov dword [esp + 0xe0], 0x122036d
mov dword [esp + 0xe4], 0xd750f5d
mov dword [esp + 0xe8], 0x9770b62
mov dword [esp + 0xec], 0x156b178f
mov dword [esp + 0xf0], 0x11791368
mov dword [esp + 0xf4], 0x1d7a1f63
mov dword [esp + 0xf8], 0x19641b4c
mov dword [esp + 0xfc], 0x254c2769
mov dword [esp + 0x100], 0x21562353
mov dword [esp + 0x104], 0x2d532f4b
mov dword [esp + 0x108], 0x297b2b48
mov dword [esp + 0x10c], 0x354a3753
mov dword [esp + 0x110], 0x31433340
mov dword [esp + 0x114], 0x3d4b3f41
mov dword [esp + 0x118], 0x397d3b58
mov dword [esp + 0x11c], 0x457f4705
mov dword [esp + 0x120], 0x410f437f
mov dword [esp + 0x124], 0x4d044f0a
mov dword [esp + 0x128], 0x49764b7c
mov dword [esp + 0x12c], 0x556b5777
mov dword [esp + 0x130], 0x516d536b
mov dword [esp + 0x134], 0x5d325f6f
mov dword [esp + 0x138], 0x59145b61
mov dword [esp + 0x13c], 0x655e6760
mov dword [esp + 0x140], 0x6152632b
mov dword [esp + 0x144], 0x6d516f50
mov dword [esp + 0x148], 0x69566b5c
mov dword [esp + 0x14c], 0x75487726
mov dword [esp + 0x150], 0x7148733b
mov dword [esp + 0x154], 0x7d477f4a
mov dword [esp + 0x158], 0x791e7b46
mov word [esp + 0x15c], 0x8778
mov dword [esp + 0x15e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 0x1b
mov edx, eax
xor edx, 0x1b
lea ecx, [edx + ecx*2]
xor cl, byte [esp + eax + 0x78]
add cl, 0x79
mov byte [esp + eax + 0x78], cl
mov ecx, eax
and ecx, 1
mov edx, ecx
not edx
add eax, edx
add eax, 2
mov edx, eax
and edx, ecx
xor ecx, eax
lea eax, [ecx + edx*2]
cmp eax, 0xea
jb 0x426670
lea edi, [esp + 0xa60]
lea eax, [esp + 0x78]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
lea edi, [esp + 0xb44]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0xe17de753
mov dword [esp + 0x7c], 0xdd70e37d
mov dword [esp + 0x80], 0xd953df4d
mov dword [esp + 0x84], 0xd544db49
mov dword [esp + 0x88], 0xd172d758
mov dword [esp + 0x8c], 0xcd4cd361
mov dword [esp + 0x90], 0xc955cf52
mov dword [esp + 0x94], 0xc555cb55
mov dword [esp + 0x98], 0xc195c760
mov dword [esp + 0x9c], 0x3d94c38d
mov dword [esp + 0xa0], 0x399a3f6c
mov dword [esp + 0xa4], 0x35b53b89
mov dword [esp + 0xa8], 0x31a237b8
mov dword [esp + 0xac], 0x2da333a1
mov dword [esp + 0xb0], 0x298a2fb9
mov dword [esp + 0xb4], 0x25b82b98
mov dword [esp + 0xb8], 0x21b827b5
mov dword [esp + 0xbc], 0x1db623bb
mov dword [esp + 0xc0], 0x19931f83
mov dword [esp + 0xc4], 0x15ab1bbc
mov dword [esp + 0xc8], 0x119a179b
mov dword [esp + 0xcc], 0xd831384
mov dword [esp + 0xd0], 0x99b0f9d
mov dword [esp + 0xd4], 0x5410bac
mov dword [esp + 0xd8], 0x14f0749
mov dword [esp + 0xdc], 0x7dbf034f
mov dword [esp + 0xe0], 0x79c07fc2
mov dword [esp + 0xe4], 0x75367b28
mov dword [esp + 0xe8], 0x713b7727
mov dword [esp + 0xec], 0x6d217323
mov dword [esp + 0xf0], 0x69f26f3f
mov dword [esp + 0xf4], 0x65286b25
mov dword [esp + 0xf8], 0x612e672c
mov dword [esp + 0xfc], 0x5d326323
mov dword [esp + 0x100], 0x590d5f0c
mov dword [esp + 0x104], 0x55165b08
mov dword [esp + 0x108], 0x51045716
mov dword [esp + 0x10c], 0x4d1c5313
mov dword [esp + 0x110], 0x49074f02
mov dword [esp + 0x114], 0x45ee4b06
mov word [esp + 0x118], 0x4744
mov byte [ebx + 4], 0
mov word [ebx + 2], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x78]
mov esi, eax
and esi, 0xb2
mov edi, ecx
xor edi, 0x82ce4159
add edi, esi
xor edi, edx
mov edx, edi
not edx
mov esi, edx
or esi, 0x42
or edx, 0xbd
add edx, esi
lea edx, [edx + edi*2]
add dl, 0x45
mov byte [esp + ecx + 0x78], dl
inc ecx
add eax, 2
cmp ecx, 0xa5
jne 0x4268a0
mov dword [esp], ebp
lea edi, [esp + 0x91c]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0x9bc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x63fb61dd
mov dword [esp + 0x7c], 0x67f465c7
mov dword [esp + 0x80], 0x5bc959c7
mov dword [esp + 0x84], 0x5ff85dc3
mov dword [esp + 0x88], 0x53fe51c4
mov dword [esp + 0x8c], 0x57f055eb
mov dword [esp + 0x90], 0x4bd349ee
mov dword [esp + 0x94], 0x4feb4def
mov dword [esp + 0x98], 0x439341ec
mov dword [esp + 0x9c], 0x47984590
mov dword [esp + 0xa0], 0x3b9639e8
mov dword [esp + 0xa4], 0x3fab3d83
mov dword [esp + 0xa8], 0x33ae31a4
mov dword [esp + 0xac], 0x37a935ab
mov dword [esp + 0xb0], 0x2b8629b3
mov dword [esp + 0xb4], 0x2fbc2d9c
mov dword [esp + 0xb8], 0x238421bf
mov dword [esp + 0xbc], 0x27ba25bd
mov dword [esp + 0xc0], 0x1b8919bd
mov dword [esp + 0xc4], 0x1fa11db0
mov dword [esp + 0xc8], 0x13861185
mov dword [esp + 0xcc], 0x17891588
mov dword [esp + 0xd0], 0xb910997
mov dword [esp + 0xd4], 0xfc70da0
mov dword [esp + 0xd8], 0x3d501d3
mov dword [esp + 0xdc], 0x7c505d1
mov dword [esp + 0xe0], 0xfb3cf93e
mov dword [esp + 0xe4], 0xff2afd2c
mov dword [esp + 0xe8], 0xf321f121
mov dword [esp + 0xec], 0xf727f525
mov dword [esp + 0xf0], 0xeb4ee939
mov dword [esp + 0xf4], 0xef2ced3f
mov dword [esp + 0xf8], 0xe32ae128
mov dword [esp + 0xfc], 0xe736e525
mov dword [esp + 0x100], 0xdb0bd908
mov dword [esp + 0x104], 0xdf0add0c
mov dword [esp + 0x108], 0xd300d112
mov dword [esp + 0x10c], 0xd700d515
mov dword [esp + 0x110], 0xcb1dc91e
mov dword [esp + 0x114], 0xcf62cd1a
mov word [esp + 0x118], 0xc1c0
mov byte [ebx + 4], 0
mov word [ebx + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x98
xor cl, byte [esp + eax + 0x78]
add cl, 8
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa5
jne 0x426ae0
lea edi, [esp + 0x87a]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0x91a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x97d0b5f
mov dword [esp + 0x7c], 0x5880775
mov dword [esp + 0x80], 0x18f0375
mov dword [esp + 0x84], 0x1d641f71
mov dword [esp + 0x88], 0x197e1b90
mov dword [esp + 0x8c], 0x156c1749
mov dword [esp + 0x90], 0x1165136e
mov dword [esp + 0x94], 0x2d552f6d
mov dword [esp + 0x98], 0x29652b48
mov dword [esp + 0x9c], 0x25142763
mov dword [esp + 0xa0], 0x21462314
mov dword [esp + 0xa4], 0x3db53f71
mov dword [esp + 0xa8], 0x394e3bb0
mov dword [esp + 0xac], 0x35473749
mov dword [esp + 0xb0], 0x31563341
mov dword [esp + 0xb4], 0x4dc04f60
mov dword [esp + 0xb8], 0x49304b3d
mov dword [esp + 0xbc], 0x4532473f
mov dword [esp + 0xc0], 0x41cf433f
mov dword [esp + 0xc4], 0x5d0f5f24
mov dword [esp + 0xc8], 0x59d65bd7
mov dword [esp + 0xcc], 0x5527572c
mov dword [esp + 0xd0], 0x51275325
mov dword [esp + 0xd4], 0x6d296f34
mov dword [esp + 0xd8], 0x69236b21
mov dword [esp + 0xdc], 0x653b6723
mov dword [esp + 0xe0], 0x6138633e
mov dword [esp + 0xe4], 0x7d327f50
mov dword [esp + 0xe8], 0x79377b33
mov dword [esp + 0xec], 0x75397737
mov dword [esp + 0xf0], 0x710e733b
mov dword [esp + 0xf4], 0x8dd08f3d
mov dword [esp + 0xf8], 0x89c28bc4
mov dword [esp + 0xfc], 0x85b687d7
mov dword [esp + 0x100], 0x81cd83b4
mov dword [esp + 0x104], 0x9dd29fb0
mov dword [esp + 0x108], 0x99d49bc2
mov dword [esp + 0x10c], 0x95dc97c7
mov dword [esp + 0x110], 0x91db93de
mov dword [esp + 0x114], 0xadcaafda
mov word [esp + 0x118], 0xabac
mov dword [esp + 0x11a], 0
mov ecx, 0x2374e3fc
mov edi, 0x5c8b1c02
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edi - 0x5c8b1b8a]
lea eax, [edi + 1]
mov edx, ecx
or edx, ebx
lea ebp, [ecx - 0x2374e300]
and ebp, ebx
xor ebp, edx
and ebp, eax
mov edx, ebp
and edx, 0x1fd
mov esi, ebp
and esi, 2
or ebp, 2
imul ebp, esi
xor esi, 2
imul esi, edx
add ebp, esi
mov edx, edi
sub edx, ebp
lea esi, [ecx + ebp]
add esi, 0x80000001
and edx, ebx
not ebx
and ebx, esi
sub edx, ebx
mov esi, 0xf
sub esi, edx
mov ebx, edx
or ebx, 1
add ebx, edx
or esi, 1
add ebx, esi
add bl, 0xe1
mov byte [esp + edi - 0x5c8b1b8a], bl
dec ecx
mov edi, eax
cmp ecx, 0x2374e356
jne 0x426d00
lea edx, [esp + 0xb46]
lea eax, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xbe6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0x9be]
mov dword [esp + 0x64], eax
lea eax, [esp + 0xa60]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x91c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x87a]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
mov ebp, dword [esp]
jmp dword [eax*4 + 0x4496a4]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x78], 0xe0e7e6e5
mov byte [esp + 0x7c], 0
mov ecx, 0x59
mov edx, 6
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 0x1f]
mov esi, edx
and esi, 0xc
mov edi, ecx
and edi, 0x73
or edi, esi
mov esi, ebx
and esi, 0xffffff8c
or esi, 0x21
and ebx, 0x73
xor ebx, edi
xor ebx, esi
xor bl, 0xad
add bl, 0xc3
mov byte [esp + ecx + 0x1f], bl
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x426e10
mov ecx, dword [0x44f2b4]
test ecx, ecx
mov esi, dword [esp + 0x50]
je 0x427590
mov edx, dword [esp + 0x78]
xor edi, edi
mov ebx, dword [0x44f2b8]
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x427584
inc edi
cmp ecx, edi
jne 0x426e60
jmp 0x427590
mov ecx, dword [esp + 0x54]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4496a4]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x596a5b74
mov dword [esp + 0x7c], 0x5d6e5f68
mov dword [esp + 0x80], 0x5162536c
mov dword [esp + 0x84], 0x55be5760
mov dword [esp + 0x88], 0x6b54
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xf
xor dl, byte [esp + ecx + 0x78]
add dl, 0xb5
mov byte [esp + ecx + 0x78], dl
inc ecx
cmp ecx, 0x14
jne 0x426ee0
movzx ecx, word [eax]
lea esi, [esp + 0xbe8]
test cx, cx
je 0x426f21
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x426f10
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x426f51
lea ecx, [esp + 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426f40
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x38], esi
jmp dword [eax*4 + 0x4496ac]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x4496ac]
mov word [esi - 2], di
lea eax, [esp + 0x44]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
push ecx
call fcn.00443000
add esp, 0x14
mov ecx, dword [case.0x42611f.22]
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4496c4]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x5c], 0x800
mov dword [esp + 0xc], 0x400
xor esi, esi
mov dword [esp + 8], 0
jmp 0x426fe3
mov esi, dword [esp + 4]
inc esi
lea eax, [esp + 0xc]
lea edi, [esp + 0xde8]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x18], esi
push esi
push dword [esp + 0x5c]
call fcn.00443670
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4496cc]
test byte [esp + 8], 1
sete al
mov edx, dword [esp + 0x58]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
mov dword [esp], ebp
jmp dword [eax*4 + 0x4496d4]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x4496e4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], 0x33d131f1
mov dword [esp + 0x1c], 0x3fc93ddf
mov dword [esp + 0x20], 0x3bcc39c5
mov dword [esp + 0x24], 0xc7c6c538
mov word [esp + 0x28], 0
mov ecx, 0x94d89074
mov edx, 0x2b276f8b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ecx + 0x6b276fa4]
mov eax, edx
and eax, 0x292420bc
mov ebx, ecx
and ebx, 0x90c09043
or ebx, eax
mov eax, ebp
xor eax, 0xbc
xor ebp, 0x43
or eax, ebx
not ebx
or ebx, ebp
and ebx, eax
add bl, 0xbc
mov byte [esp + ecx + 0x6b276fa4], bl
inc ecx
dec edx
cmp ecx, 0x94d89086
jne 0x427090
movzx ebx, word [esp + 0x18]
lea esi, [esp + 0x78]
test bx, bx
mov edx, dword [esp + 4]
je 0x427121
lea ecx, [esp + 0x78]
lea ebp, [esp + 0x18]
mov esi, ecx
jmp 0x4270f9
movzx ebx, word [ebp]
test bx, bx
je 0x427121
movzx eax, word [ecx]
test ax, ax
je 0x42711f
add ecx, 2
add ebp, 2
lea edx, [esi + 2]
cmp ax, bx
je 0x427113
mov esi, edx
mov ecx, edx
mov edx, dword [esp + 4]
je 0x4270f0
lea ebp, [esp + 0x18]
jmp 0x4270f0
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4496dc]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
mov ebp, dword [esp]
jmp dword [eax*4 + 0x4496e4]
mov dword [esp + 0x18], 0x3f9f3988
mov dword [esp + 0x1c], 0x23b53dab
mov dword [esp + 0x20], 0x27b521bb
mov dword [esp + 0x24], 0x2b8e25b2
mov word [esp + 0x28], 0x2928
mov dword [esp + 0x2a], 0
mov eax, 0x5f204a0a
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x5f2049f2]
xor edx, eax
mov ecx, edx
xor ecx, 0x32
or edx, 0xcd
and ecx, edx
add ecx, edx
inc cl
mov byte [esp + eax - 0x5f2049f2], cl
inc eax
cmp eax, 0x5f204a20
jne 0x427180
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x78]
test di, di
je 0x4272e3
lea ecx, [esp + 0x78]
lea edx, [esp + 0x18]
mov eax, ecx
jmp 0x4271dc
movzx edi, word [edx]
test di, di
je 0x4272e3
movzx ebx, word [ecx]
test bx, bx
je 0x4272e1
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x4271fa
mov eax, esi
mov ecx, esi
je 0x4271d0
lea edx, [esp + 0x18]
jmp 0x4271d0
mov eax, dword [esp + 0xc]
cmp eax, 2
jae 0x427221
mov ebp, dword [esp]
jmp 0x4272c9
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x427263
mov dword [esp + 8], ecx
xor ebx, ebx
lea edi, [esp + 0xde8]
mov ebp, dword [esp]
nop
nop
nop
movzx esi, word [edi]
xor ecx, ecx
test si, si
setne cl
lea edi, [edi + ecx*2]
mov word [ebp], si
add ebp, 2
inc ebx
cmp edx, ebx
jne 0x427240
mov dword [esp], ebp
sub eax, ebx
mov ecx, dword [esp + 8]
cmp ecx, 3
mov ebp, dword [esp]
mov edx, dword [esp + 4]
jb 0x4272c9
nop
mov esi, ebp
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x427270
mov edx, dword [esp + 4]
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 8], eax
inc edx
mov esi, edx
jmp 0x426fe3
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4496ec]
jmp dword [0x4496f4]
mov eax, dword [esp + 0xc]
lea ecx, [eax + eax]
and ecx, 4
lea edi, [eax + 2]
mov edx, ebp
mov ebp, edi
sub ebp, ecx
je 0x4273b2
sub eax, ecx
inc eax
lea ecx, [esp + 0xde8]
and edi, 3
je 0x42749c
mov dword [esp + 0x30], eax
xor ebx, ebx
mov edx, dword [esp]
nop
nop
nop
nop
movzx esi, word [ecx]
xor eax, eax
test si, si
setne al
lea ecx, [ecx + eax*2]
mov word [edx], si
add edx, 2
inc ebx
cmp edi, ebx
jne 0x427330
sub ebp, ebx
mov eax, dword [esp + 0x30]
cmp eax, 3
jb 0x4273b2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [ecx]
xor ebx, ebx
test ax, ax
setne bl
lea esi, [ecx + ebx*2]
mov word [edx], ax
movzx eax, word [ecx + ebx*2]
xor ecx, ecx
test ax, ax
setne cl
lea edi, [esi + ecx*2]
mov word [edx + 2], ax
movzx eax, word [esi + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
lea esi, [edi + ecx*2]
mov word [edx + 4], ax
movzx eax, word [edi + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
mov word [edx + 6], ax
add edx, 8
lea ecx, [esi + ecx*2]
add ebp, 0xfffffffc
jne 0x427360
mov word [edx], 0xa
mov ebp, dword [esp]
jmp case.0x42757d.18
mov word [eax], 0xa
jmp dword [0x449700]
mov edi, dword [esp + 0xc]
mov eax, ebp
cmp edi, 2
jb 0x4273c0
shr edi, 1
mov ebp, edi
and ebp, 3
je 0x427412
xor ebx, ebx
lea ecx, [esp + 0xde8]
mov eax, dword [esp]
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [eax], si
add eax, 2
inc ebx
cmp ebp, ebx
jne 0x4273f0
mov edx, edi
sub edx, ebx
mov ebp, dword [esp]
jmp 0x427420
lea ecx, [esp + 0xde8]
mov ebp, dword [esp]
mov eax, ebp
mov edx, edi
dec edi
cmp edi, 3
jb 0x4273c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea edi, [ecx + ebx*2]
mov word [eax], si
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea esi, [edi + ebx*2]
mov word [eax + 2], cx
movzx ecx, word [edi + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea edi, [esi + ebx*2]
mov word [eax + 4], cx
movzx esi, word [esi + ebx*2]
xor ecx, ecx
test si, si
setne cl
mov word [eax + 6], si
add eax, 8
lea ecx, [edi + ecx*2]
add edx, 0xfffffffc
jne 0x427430
jmp 0x4273c0
add eax, 2
mov cl, 1
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 4]
inc esi
mov ebp, eax
jmp 0x426fe3
mov edx, dword [esp]
cmp eax, 3
jae 0x427360
jmp 0x4273b2
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], 0xe0e7e6e5
mov byte [esp + 0x1c], 0
mov ecx, 0x59
mov edx, 6
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x41]
mov esi, edx
and esi, 0xc
mov edi, ecx
and edi, 0x73
or edi, esi
mov esi, ebx
and esi, 0xffffff8c
or esi, 0x21
and ebx, 0x73
xor ebx, edi
xor ebx, esi
xor bl, 0xad
add bl, 0xc3
mov byte [esp + ecx - 0x41], bl
inc ecx
dec edx
cmp ecx, 0x5e
jne 0x4274d0
mov ecx, dword [0x44f2b4]
test ecx, ecx
je 0x427540
mov edx, dword [esp + 0x18]
xor edi, edi
mov ebx, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x427530
inc edi
cmp ecx, edi
jne 0x427520
jmp 0x427540
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x427552
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x3c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x4496ac]
push eax
push 4
push ecx
push dword [0x44f2bc]
call fcn.00440360
add esp, 0x10
mov edi, dword [esp + 0x3c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x38]
jmp dword [eax*4 + 0x4496ac]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x4275bb
nop
nop
nop
nop
lea ebx, [esp + 0x118]
mov edi, dword [esp + 0x34]
jmp dword [0x449704]
push edi
call fcn.00408650
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x449684]
push eax
push 4
push ecx
push dword [0x44f2bc]
call fcn.00440360
add esp, 0x10
lea ebx, [esp + 0x118]
mov edi, dword [esp + 0x34]
jmp dword [0x449704]
lea ebx, [esp + 0x118]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x40], 0
cmp ecx, dword [esp + 0x10]
setb al
xor esi, esi
jmp dword [eax*4 + 0x449684]
mov word [ebp], 0
mov ecx, dword [esp + 0x40]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44968c]
jmp dword [0x44970c]
movzx edi, word [esp + 0x11e8]
xor esi, esi
test di, di
je 0x42767b
lea eax, [esp + 0x11ea]
mov ecx, edi
jmp 0x42764c
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42767b
cmp cx, 0x7f
jbe 0x427640
movzx edx, cx
cmp edx, 0x7ff
ja 0x427670
add esi, 2
jmp 0x427641
cmp cx, 0xffff
je 0x427641
add esi, 3
jmp 0x427641
mov dword [esp], esi
lea eax, [esi - 1]
push eax
call fcn.00408640
add esp, 4
mov esi, eax
mov dword [esp + 4], eax
test di, di
je 0x4277e2
mov ebp, dword [esp]
mov esi, dword [esp + 4]
add ebp, 0xfffffffe
je 0x4277e2
lea ebx, [esp + 0x11e8]
mov esi, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, di
lea edi, [ebx + 2]
cmp cx, 0x7f
ja 0x4276e0
lea edx, [esi + 1]
mov byte [esi], cl
jmp 0x427780
cmp ecx, 0x7ff
ja 0x427720
cmp ebp, 2
jb 0x427720
mov eax, ecx
shr eax, 6
mov edx, ecx
shr edx, 5
and edx, 0x80
xor eax, 0xc0
add eax, edx
mov byte [esi], al
and cl, 0x3f
or cl, 0x80
mov byte [esi + 1], cl
lea edx, [esi + 2]
jmp 0x427780
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4277a8
cmp ebp, 4
jb 0x4277a8
movzx eax, word [ebx + 2]
add ebx, 4
shl ecx, 0xa
add ecx, eax
add ecx, 0xfca02400
mov edx, ecx
shr edx, 0x12
add dl, 0xf0
mov byte [esi], dl
mov edx, ecx
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [esi + 2], cl
and al, 0x3f
or al, 0x80
lea edx, [esi + 4]
mov byte [esi + 3], al
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
sub eax, esi
mov ecx, eax
xor ecx, ebp
not eax
and eax, ebp
add eax, eax
sub eax, ecx
mov ebx, edi
mov esi, edx
mov ebp, eax
movzx edi, word [ebx]
test di, di
je 0x4277e2
test ebp, ebp
jne 0x4276c0
jmp 0x4277e2
movzx eax, ax
cmp eax, 0xdc00
jne 0x4277b6
mov ebx, edi
jmp 0x427796
cmp ebp, 3
jb 0x4277de
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [esi], al
mov eax, ecx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
and cl, 0x3f
or cl, 0x80
lea edx, [esi + 3]
mov byte [esi + 2], cl
jmp 0x427780
mov edx, esi
jmp 0x427780
mov byte [esi], 0
mov dword [esp + 0x78], 0xaf525181
mov dword [esp + 0x7c], 0x53a7a6ad
mov dword [esp + 0x80], 0x58a4a6a1
mov dword [esp + 0x84], 0x5b5b82e3
mov dword [esp + 0x88], 0x989d9e9c
mov dword [esp + 0x8c], 0x986485db
mov dword [esp + 0x90], 0x9e96909e
mov dword [esp + 0x94], 0x676ad36f
mov dword [esp + 0x98], 0xe174
mov byte [esp + 0x9c], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
not ecx
or ecx, 0xd0
mov edx, eax
and edx, 0x2f
mov esi, eax
xor esi, 0xd0
add esi, ecx
sub esi, edx
lea ecx, [esi + eax*2]
inc cl
xor cl, byte [esp + eax + 0x78]
add cl, 0xf0
mov byte [esp + eax + 0x78], cl
mov ecx, eax
or ecx, 0xe7d58eba
and eax, 0x3a
add eax, ecx
add eax, 0x182a7147
cmp eax, 0x25
jb 0x427850
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push dword [esp]
push dword [esp + 8]
push eax
call fcn.00409480
nop
nop
nop
nop
nop
nop
movzx ebx, word [esp + 0x11e8]
test bx, bx
je 0x427910
lea eax, [esp + 0x11ea]
xor esi, esi
mov ecx, ebx
jmp 0x4278dc
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x427912
cmp cx, 0x7f
jbe 0x4278d0
movzx edx, cx
cmp edx, 0x7ff
ja 0x427900
add esi, 2
jmp 0x4278d1
cmp cx, 0xffff
je 0x4278d1
add esi, 3
jmp 0x4278d1
xor esi, esi
lea eax, [esi + 1]
push eax
call fcn.00408640
add esp, 4
mov edi, eax
mov dword [esp + 4], eax
test bx, bx
je 0x427a80
mov edi, dword [esp + 4]
test esi, esi
je 0x427a80
lea ebp, [esp + 0x11e8]
mov ecx, esi
mov edi, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, bx
lea edx, [ebp + 2]
cmp bx, 0x7f
ja 0x427970
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x427a10
cmp ebx, 0x7ff
ja 0x4279b0
cmp ecx, 2
jb 0x4279b0
mov eax, ebx
shr eax, 6
mov ebp, ebx
shr ebp, 5
and ebp, 0x80
xor eax, 0xc0
add eax, ebp
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
lea eax, [edi + 2]
jmp 0x427a10
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x427a39
cmp ecx, 4
jb 0x427a39
movzx edx, word [ebp + 2]
add ebp, 4
shl ebx, 0xa
lea eax, [ebx + edx]
add eax, 0xfca02400
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
mov ebx, eax
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 2], al
and dl, 0x3f
or dl, 0x80
lea eax, [edi + 4]
mov byte [edi + 3], dl
mov edx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
sub ebx, edi
mov edi, ebx
xor edi, ecx
not ebx
and ebx, ecx
add ebx, ebx
sub ebx, edi
mov ebp, edx
mov edi, eax
mov ecx, ebx
movzx ebx, word [ebp]
test bx, bx
je 0x427a80
test ecx, ecx
jne 0x427950
jmp 0x427a80
movzx eax, ax
cmp eax, 0xdc00
jne 0x427a47
mov ebp, edx
jmp 0x427a26
cmp ecx, 3
jb 0x427a6f
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], bl
jmp 0x427a10
mov eax, edi
jmp 0x427a10
lea eax, [esp + 0x9a]
mov byte [edi], 0
mov dword [esp + 0x78], 0xaf525181
mov dword [esp + 0x7c], 0x53a7a6ad
mov dword [esp + 0x80], 0x58a4a6a1
mov dword [esp + 0x84], 0x5b5b82e3
mov dword [esp + 0x88], 0x989d9e9c
mov dword [esp + 0x8c], 0x986485db
mov dword [esp + 0x90], 0x9e96909e
mov dword [esp + 0x94], 0x676ad36f
mov word [esp + 0x98], 0xe174
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
not ecx
or ecx, 0xd0
mov edx, eax
and edx, 0x2f
mov edi, eax
xor edi, 0xd0
add edi, ecx
sub edi, edx
lea ecx, [edi + eax*2]
inc cl
xor cl, byte [esp + eax + 0x78]
add cl, 0xf0
mov byte [esp + eax + 0x78], cl
mov ecx, eax
or ecx, 0xe7d58eba
and eax, 0x3a
add eax, ecx
add eax, 0x182a7147
cmp eax, 0x25
jb 0x427b00
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push esi
mov esi, dword [esp + 8]
push esi
push eax
call fcn.00409480
jmp dword [0x449718]
mov ecx, eax
jmp dword [0x44971c]
push esi
mov esi, ecx
call fcn.00408650
mov ecx, esi
add esp, 4
mov eax, dword [case.0x42611f.10]
nop
nop
nop
nop
nop
nop
nop
jmp eax
and cl, 1
jmp 0x427bf7
mov eax, dword [case.0x42757d.40]
nop
nop
nop
nop
jmp eax
mov eax, ecx
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x10]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x34]
call fcn.004433b0
add esp, 0x24
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x10]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x34]
call fcn.004433b0
add esp, 0x24
jmp dword [0x449678]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44967c]
xor ecx, ecx
mov eax, dword [case.0x42611f.1]
nop
nop
nop
nop
jmp eax