Function at 0x4298c6
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e4
call fcn.0040c960
mov dword [esp + 0xde4], 0xc174c760
mov dword [esp + 0xde8], 0xcd0bc30f
mov dword [esp + 0xdec], 0xc973cf07
mov dword [esp + 0xdf0], 0xb578cb74
mov dword [esp + 0xdf4], 0xb112b70f
mov dword [esp + 0xdf8], 0xbd0fb30f
mov dword [esp + 0xdfc], 0xb90cbf73
mov word [esp + 0xe00], 0xbbb8
mov dword [esp + 0xe02], 0
mov word [esp + 0xe06], 0
mov eax, 1
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax - 1]
movzx esi, byte [esp + eax + 0xde3]
mov edi, ecx
or edi, 0x91d3d1b1
or edx, 0x91d3d1b1
add edx, edi
lea edi, [eax + edx]
and edi, esi
add edi, edi
add edx, esi
sub edx, edi
add edx, eax
add dl, 0x8b
mov byte [esp + eax + 0xde3], dl
inc eax
dec ecx
cmp eax, 0x25
jne case.default.0x42892a
lea eax, [esp + 0x1c]
lea ebp, [esp + 0xde4]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00445530
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44d438]
lea edi, [esp + 0x5c]
jmp dword [0x44d444]
lea eax, [esp + 0x44]
push 0
push 0
push 0
push 0
push edi
push eax
push 0
push 0
push dword [esp + 0x3c]
call fcn.004458e0
add esp, 0x24
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x44]
push 0
push 0
push 0
push 0
push edi
push eax
push 0
push 0
push dword [esp + 0x3c]
call fcn.004458e0
add esp, 0x24
jmp dword [0x44d448]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d450]
xor ebx, ebx
jmp 0x42a025
mov eax, dword [case.0x42892a.10]
xor esi, esi
nop
nop
mov dword [esp + 0x2c], 0
jmp eax
mov edi, dword [esp + 0x5c]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4289c2
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
mov ebx, eax
mov dword [esp + 0x58], edi
lea eax, [esp + 0x58]
push eax
push ebx
push esi
push dword [esp + 0x28]
call fcn.00445630
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d478]
jmp dword [0x44d508]
lea eax, [esp + 0x40]
push dword [esp + 0x1c]
push 0
push 0x20019
push eax
push ebx
call fcn.00445530
add esp, 0x14
mov ecx, dword [case.0x42892a.19]
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d490]
jmp dword [0x44d508]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x74], 0x79ed7b0f
mov dword [esp + 0x78], 0x65f86715
mov dword [esp + 0x7c], 0x61ff63f5
mov dword [esp + 0x80], 0x6d046ff1
mov dword [esp + 0x84], 0x690e6bf0
mov dword [esp + 0x88], 0x95019711
mov dword [esp + 0x8c], 0x91fe9306
mov dword [esp + 0x90], 0x9d079f01
mov dword [esp + 0x94], 0x99ba9b01
mov dword [esp + 0x98], 0x85ed87eb
mov dword [esp + 0x9c], 0x811f8319
mov dword [esp + 0xa0], 0x8de78fef
mov dword [esp + 0xa4], 0x89188b1b
mov dword [esp + 0xa8], 0xb596b7e1
mov dword [esp + 0xac], 0xb129b3c9
mov dword [esp + 0xb0], 0xbd23bfde
mov dword [esp + 0xb4], 0xb927bb3b
mov dword [esp + 0xb8], 0xa5cda724
mov dword [esp + 0xbc], 0xa1c6a337
mov dword [esp + 0xc0], 0xad30afd0
mov dword [esp + 0xc4], 0xa9c0ab3d
mov dword [esp + 0xc8], 0xd542d73f
mov dword [esp + 0xcc], 0xd14fd3bf
mov dword [esp + 0xd0], 0xdd99dfb4
mov dword [esp + 0xd4], 0xd983db81
mov dword [esp + 0xd8], 0xc58bc783
mov dword [esp + 0xdc], 0xc188c38e
mov dword [esp + 0xe0], 0xcd92cf90
mov dword [esp + 0xe4], 0xc997cb93
mov dword [esp + 0xe8], 0xf5a9f797
mov dword [esp + 0xec], 0xf19ef3ab
mov dword [esp + 0xf0], 0xfdb0ffad
mov dword [esp + 0xf4], 0xf9a2fba4
mov dword [esp + 0xf8], 0xe5b6e7b7
mov dword [esp + 0xfc], 0xe1bde3b4
mov dword [esp + 0x100], 0xedb2efb0
mov dword [esp + 0x104], 0xe9b4eba2
mov dword [esp + 0x108], 0x154c17a7
mov dword [esp + 0x10c], 0x114b134e
mov dword [esp + 0x110], 0x1d7a1f4a
lea eax, [esp + 0x114]
mov word [esp + 0x114], 0x1b1c
mov dword [esp + 0x116], 0
mov ecx, 0xa68165eb
mov edx, 0x14
nop
nop
nop
movzx edi, byte [esp + ecx + 0x597e9a89]
lea ebx, [edi + edi]
not ebx
add ebx, edi
and ebx, ecx
and edi, edx
mov esi, ebx
xor esi, edi
not edi
and edi, ebx
add esi, ebx
sub esi, edi
mov edi, esi
and edi, 0x68
xor esi, 0x68
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + ecx + 0x597e9a89], bl
inc ecx
dec edx
cmp ecx, 0xa6816691
jne 0x428c40
lea edi, [esp + 0x9ba]
lea edx, [esp + 0x74]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa5a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x49dd4bff
mov dword [esp + 0x78], 0x45c847d5
mov dword [esp + 0x7c], 0x41cf43d5
mov dword [esp + 0x80], 0xbd24bfd1
mov dword [esp + 0x84], 0xb91ebb30
mov dword [esp + 0x88], 0xb521b711
mov dword [esp + 0x8c], 0xb12eb326
mov dword [esp + 0x90], 0xad27af21
mov dword [esp + 0x94], 0xa9caab21
mov dword [esp + 0x98], 0xa50aa71a
mov dword [esp + 0x9c], 0xa11fa300
mov dword [esp + 0xa0], 0x9d109f2b
mov dword [esp + 0xa4], 0x99019b12
mov dword [esp + 0xa8], 0x951a970a
mov dword [esp + 0xac], 0x9109933e
mov dword [esp + 0xb0], 0x8d038f1e
mov dword [esp + 0xb4], 0x891b8b1b
mov dword [esp + 0xb8], 0x8522871a
mov dword [esp + 0xbc], 0x8115832d
mov dword [esp + 0xc0], 0xfd62ff12
mov dword [esp + 0xc4], 0xf973fb6d
mov dword [esp + 0xc8], 0xf596f775
mov dword [esp + 0xcc], 0xf169f347
mov dword [esp + 0xd0], 0xed63ef7d
mov dword [esp + 0xd4], 0xe973eb73
mov dword [esp + 0xd8], 0xe574e77f
mov dword [esp + 0xdc], 0xe182e37d
mov dword [esp + 0xe0], 0xdd55df4d
mov dword [esp + 0xe4], 0xd957db42
mov dword [esp + 0xe8], 0xd55bd75f
mov dword [esp + 0xec], 0xd149d358
mov dword [esp + 0xf0], 0xcd6acf43
mov dword [esp + 0xf4], 0xc944cb7c
mov dword [esp + 0xf8], 0xc55cc759
mov dword [esp + 0xfc], 0xc156c353
mov dword [esp + 0x100], 0x3db33f5b
mov dword [esp + 0x104], 0x398b3b98
mov dword [esp + 0x108], 0x35ba37b3
mov dword [esp + 0x10c], 0x31a333a0
mov dword [esp + 0x110], 0x2dbb2fa1
mov dword [esp + 0x114], 0x296d2b88
mov dword [esp + 0x118], 0x256f2765
mov dword [esp + 0x11c], 0x219f236f
mov dword [esp + 0x120], 0x1da41f9a
mov dword [esp + 0x124], 0x19561b4c
mov dword [esp + 0x128], 0x155b1757
mov dword [esp + 0x12c], 0x115d135b
mov dword [esp + 0x130], 0xd920f5f
mov dword [esp + 0x134], 0x9b40b41
mov dword [esp + 0x138], 0x54e0740
mov dword [esp + 0x13c], 0x15203bb
mov dword [esp + 0x140], 0x7d317f50
mov dword [esp + 0x144], 0x79367b2c
mov dword [esp + 0x148], 0x753877c6
mov dword [esp + 0x14c], 0x713873cb
mov dword [esp + 0x150], 0x6d276f3a
mov dword [esp + 0x154], 0x69ce6b26
lea eax, [esp + 0x158]
mov word [esp + 0x158], 0x6768
lea ecx, [esp + 0x76]
mov word [ecx + 0xe8], 0
mov dword [ecx + 0xe4], 0
mov ecx, 0x1b15cff3
mov edx, 0x64ea300c
movzx esi, byte [esp + ecx - 0x1b15cf7f]
mov edi, edx
and edi, 0xe8
mov ebx, ecx
and ebx, 0x17
or ebx, edi
xor ebx, esi
xor ebx, 0xe8
add bl, 0x41
mov byte [esp + ecx - 0x1b15cf7f], bl
inc ecx
dec edx
cmp ecx, 0x1b15d0df
jne 0x428f40
lea edi, [esp + 0xa5c]
lea edx, [esp + 0x74]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xb40]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x996d9b4f
mov dword [esp + 0x78], 0xa558a775
mov dword [esp + 0x7c], 0xa15fa355
mov dword [esp + 0x80], 0xad44af51
mov dword [esp + 0x84], 0xa94eab50
mov dword [esp + 0x88], 0xb55cb779
mov dword [esp + 0x8c], 0xb145b35e
mov dword [esp + 0x90], 0xbd55bf5d
mov dword [esp + 0x94], 0xb985bb58
mov dword [esp + 0x98], 0x45744785
mov dword [esp + 0x9c], 0x41a64374
mov dword [esp + 0xa0], 0x4db54f91
mov dword [esp + 0xa4], 0x49be4bb0
mov dword [esp + 0xa8], 0x55a757b9
mov dword [esp + 0xac], 0x51b653a1
mov dword [esp + 0xb0], 0x5da05f80
mov dword [esp + 0xb4], 0x59b05bad
mov dword [esp + 0xb8], 0x659267af
mov dword [esp + 0xbc], 0x619f638f
mov dword [esp + 0xc0], 0x6dbf6f84
mov dword [esp + 0xc4], 0x69966b97
mov dword [esp + 0xc8], 0x7587779c
mov dword [esp + 0xcc], 0x71877385
mov dword [esp + 0xd0], 0x7db97f94
mov dword [esp + 0xd4], 0x79437b41
mov dword [esp + 0xd8], 0x5cb0743
mov dword [esp + 0xdc], 0x1c803ce
mov dword [esp + 0xe0], 0xd320f30
mov dword [esp + 0xe4], 0x9370b33
mov dword [esp + 0xe8], 0x15291737
mov dword [esp + 0xec], 0x11fe132b
mov dword [esp + 0xf0], 0x1dd01f2d
mov dword [esp + 0xf4], 0x19221b24
mov dword [esp + 0xf8], 0x251627d7
mov dword [esp + 0xfc], 0x211d2314
mov dword [esp + 0x100], 0x2d122f10
mov dword [esp + 0x104], 0x29142be2
mov dword [esp + 0x108], 0x350c37e7
mov dword [esp + 0x10c], 0x310b330e
mov dword [esp + 0x110], 0x3dda3f0a
lea eax, [esp + 0x114]
mov word [esp + 0x114], 0x3b3c
lea ecx, [esp + 0x76]
mov byte [ecx + 0xa4], 0
mov dword [ecx + 0xa0], 0
mov ecx, 0x5b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x19]
mov esi, ecx
and esi, edx
lea edi, [ecx - 0x35c2d400]
or edi, edx
not edi
or edi, esi
lea edx, [edi + edi]
not edx
add edx, edi
add edx, 0xcce2238
mov esi, edx
xor esi, 0x8a
and edx, 0x75
add edx, edx
sub edx, esi
add dl, 0x8b
mov byte [esp + ecx + 0x19], dl
inc ecx
cmp ecx, 0x102
jne 0x429180
mov esi, ebp
lea edi, [esp + 0x918]
lea edx, [esp + 0x74]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x8f3789d5
mov dword [esp + 0x78], 0x83348d2b
mov dword [esp + 0x7c], 0x87318133
mov dword [esp + 0x80], 0x9b208537
mov dword [esp + 0x84], 0x9f32992c
mov dword [esp + 0x88], 0x93289dcf
mov dword [esp + 0x8c], 0x972f912a
mov dword [esp + 0x90], 0xeb4f9533
mov dword [esp + 0x94], 0xef9fe944
mov dword [esp + 0x98], 0xe390ed98
mov dword [esp + 0x9c], 0xe74ae190
mov dword [esp + 0xa0], 0xfb4fe5b7
mov dword [esp + 0xa4], 0xff42f94c
mov dword [esp + 0xa8], 0xf341fd4f
mov dword [esp + 0xac], 0xf75af14f
mov dword [esp + 0xb0], 0xcb7cf5a4
mov dword [esp + 0xb4], 0xcf74c97b
mov dword [esp + 0xb8], 0xc37ecd75
mov dword [esp + 0xbc], 0xc771c165
mov dword [esp + 0xc0], 0xdb89c568
mov dword [esp + 0xc4], 0xdf6ad96d
mov dword [esp + 0xc8], 0xd361dd60
mov dword [esp + 0xcc], 0xd769d163
mov dword [esp + 0xd0], 0x2b63d578
mov dword [esp + 0xd4], 0x2f65295f
mov dword [esp + 0xd8], 0x23652d59
mov dword [esp + 0xdc], 0x277c217a
mov dword [esp + 0xe0], 0x3b4e2554
mov dword [esp + 0xe4], 0x3f493949
mov dword [esp + 0xe8], 0x33433d4d
mov dword [esp + 0xec], 0x37923141
mov dword [esp + 0xf0], 0xb4c3543
mov dword [esp + 0xf4], 0xf460940
mov dword [esp + 0xf8], 0x3720d4d
mov dword [esp + 0xfc], 0x7770170
mov dword [esp + 0x100], 0x1b6e0574
mov dword [esp + 0x104], 0x1f68195e
mov dword [esp + 0x108], 0x13581d5d
mov dword [esp + 0x10c], 0x175d115a
mov dword [esp + 0x110], 0x6bc6155e
lea ebx, [esp + 0x114]
mov word [esp + 0x114], 0x6968
lea eax, [esp + 0x76]
mov word [eax + 0xa4], 0
mov dword [eax + 0xa0], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x22
xor cl, byte [esp + eax + 0x74]
add cl, 0x56
mov byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0xa8
jne 0x4293d0
lea edi, [esp + 0x876]
lea edx, [esp + 0x74]
mov eax, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x74], 0x933b9125
mov dword [esp + 0x78], 0x9f0c9d3f
mov dword [esp + 0x7c], 0x9b09990f
mov dword [esp + 0x80], 0x87288513
mov dword [esp + 0x84], 0x8326811c
mov dword [esp + 0x88], 0x8f208d3b
mov dword [esp + 0x8c], 0x8b238926
mov dword [esp + 0x90], 0x77db75d7
mov dword [esp + 0x94], 0x73a371d4
mov dword [esp + 0x98], 0x7fa87da1
mov dword [esp + 0x9c], 0x7bde79a8
mov dword [esp + 0xa0], 0x67fb65d3
mov dword [esp + 0xa4], 0x63f661fc
mov dword [esp + 0xa8], 0x6ff96dfb
mov dword [esp + 0xac], 0x6bce69c3
mov dword [esp + 0xb0], 0x57c455e4
mov dword [esp + 0xb4], 0x53fc51c7
mov dword [esp + 0xb8], 0x5fca5df5
mov dword [esp + 0xbc], 0x5bc959f5
mov dword [esp + 0xc0], 0x47f145e0
mov dword [esp + 0xc4], 0x43de41dd
mov dword [esp + 0xc8], 0x4fd94dd8
mov dword [esp + 0xcc], 0x4be149df
mov dword [esp + 0xd0], 0x37ef3590
mov dword [esp + 0xd4], 0x33ed31e3
mov dword [esp + 0xd8], 0x3ffd3de1
mov dword [esp + 0xdc], 0x3bf439f6
mov dword [esp + 0xe0], 0x27fa25f4
mov dword [esp + 0xe4], 0x23f121f1
mov dword [esp + 0xe8], 0x2fff2dfd
mov dword [esp + 0xec], 0x2b8629f9
mov dword [esp + 0xf0], 0x17d415c7
mov dword [esp + 0xf4], 0x13ca11c8
mov dword [esp + 0xf8], 0x1fce1ddd
mov dword [esp + 0xfc], 0x1bcb19c8
mov dword [esp + 0x100], 0x7da05d4
mov dword [esp + 0x104], 0x3d001c2
mov dword [esp + 0x108], 0xfd00dcd
mov dword [esp + 0x10c], 0xbd509d6
mov dword [esp + 0x110], 0xf752f52a
lea ebx, [esp + 0x114]
mov dword [esp + 0x114], 0xf1f0
mov ecx, 0xdb10d49b
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [edx]
lea eax, [ecx + 0x24ef2c00]
lea edi, [ebp*2]
not edi
add edi, ebp
and edi, ecx
not ebp
or ebp, eax
not edi
and edi, ebp
mov eax, edi
and eax, 0xb
add eax, eax
xor edi, 0xf4
sub eax, edi
mov byte [edx], al
inc edx
dec ecx
cmp ecx, 0xdb10d3f7
jne 0x4295e0
lea edx, [esp + 0xb42]
lea eax, [esp + 0x74]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xbe2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x9ba]
mov dword [esp + 0x60], eax
lea eax, [esp + 0xa5c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x918]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x876]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
xor ecx, ecx
mov ebp, esi
jmp dword [eax*4 + 0x44d498]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], 0x20272625
mov byte [esp + 0x78], 0
xor ecx, ecx
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
and edx, 2
mov edi, esi
mov esi, ecx
xor esi, edx
and edx, ecx
xor esi, 0x49
lea edx, [esi + edx*2]
mov esi, edi
xor dl, byte [esp + ecx + 0x74]
add dl, 0x93
mov byte [esp + ecx + 0x74], dl
inc ecx
add esi, 2
cmp ecx, 5
jne 0x4296b0
mov ecx, dword [0x451b4c]
test ecx, ecx
mov esi, dword [esp + 0x48]
je 0x429d80
mov edx, dword [esp + 0x74]
xor edi, edi
mov ebx, dword [0x451b50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x429d74
inc edi
cmp ecx, edi
jne 0x429700
jmp 0x429d80
mov ecx, dword [esp + 0x4c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44d498]
jmp dword [0x44d4a0]
mov eax, dword [esp + ecx + 0x60]
jmp dword [0x44d4a8]
mov eax, dword [esp + ecx + 0x60]
jmp dword [0x44d4a8]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x74], 0x93a0b3c
mov dword [esp + 0x78], 0x5360738
mov dword [esp + 0x7c], 0x1320334
mov dword [esp + 0x80], 0x1df61f30
mov word [esp + 0x84], 0x1b1c
lea ecx, [esp + 0x76]
mov byte [ecx + 0x12], 0
mov word [ecx + 0x10], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
movzx ebx, byte [esp + edx + 0x74]
mov esi, ecx
and esi, 6
mov edi, edx
xor edi, 0xc40e4043
add edi, esi
mov esi, edi
add edi, ebx
not ebx
or esi, ebx
sub ebx, esi
lea ebx, [edi + ebx*2]
add bl, 0xb1
mov byte [esp + edx + 0x74], bl
inc edx
add ecx, 2
cmp edx, 0x15
jne 0x4297a0
movzx ecx, word [eax]
lea esi, [esp + 0xbe4]
test cx, cx
je 0x429801
add eax, 2
nop
nop
nop
nop
nop
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 0x4297f0
mov word [esi], 0
movzx eax, word [esp + 0x74]
test ax, ax
je 0x429831
lea ecx, [esp + 0x76]
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 0x429820
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x24], esi
jmp dword [eax*4 + 0x44d4b0]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x44d4b0]
mov word [esi - 2], di
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xbe4]
push dword [esp + 0x40]
push 0
push 0x20019
push eax
push ecx
call fcn.00445530
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d4b8]
jmp dword [0x44d4c4]
mov dword [esp + 0x38], 0x800
mov dword [esp + 0x18], 0x400
jmp dword [0x44d4c8]
mov dword [esp + 0x38], 0x800
mov dword [esp + 0x18], 0x400
jmp dword [0x44d4c8]
mov dword [esp + 0x28], edi
xor esi, esi
mov dword [esp + 0x34], 0
jmp 0x4298f4
lea eax, [esp + 0x18]
lea edi, [esp + 0x1de4]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x38]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x14], esi
push esi
push dword [esp + 0x54]
call fcn.00445bb0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d4d0]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x429d8a
nop
nop
nop
nop
mov ebx, dword [esp + 0x20]
jmp dword [0x44d508]
push eax
push 1
push dword [0x451b54]
push ecx
call fcn.00441b10
add esp, 0x10
mov ebx, dword [esp + 0x20]
jmp dword [0x44d508]
xor eax, eax
cmp esi, dword [esp + 0x44]
setb al
jmp dword [eax*4 + 0x44d468]
mov word [ebp], 0
mov ebx, dword [esp + 0x2c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44d470]
movzx ebx, word [esp + 0xde4]
xor esi, esi
test bx, bx
je 0x429e3b
lea eax, [esp + 0xde6]
mov ecx, ebx
jmp 0x429e0c
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x429e3b
cmp cx, 0x7f
jbe 0x429e00
movzx edx, cx
cmp edx, 0x7ff
ja 0x429e30
add esi, 2
jmp 0x429e01
cmp cx, 0xffff
je 0x429e01
add esi, 3
jmp 0x429e01
lea eax, [esi + 1]
push eax
call fcn.0040ca00
add esp, 4
mov edi, eax
mov dword [esp], eax
test bx, bx
je 0x429f75
mov edi, dword [esp]
test esi, esi
je 0x429f75
lea ebp, [esp + 0xde4]
mov ecx, esi
mov edi, dword [esp]
nop
nop
nop
nop
movzx ebx, bx
lea edx, [ebp + 2]
cmp bx, 0x7f
ja 0x429e90
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x429f20
cmp ebx, 0x7ff
ja 0x429ec0
cmp ecx, 2
jb 0x429ec0
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
mov eax, ebx
not eax
or eax, 0x3f
add eax, ebx
add al, 0x81
mov byte [edi + 1], al
lea eax, [edi + 2]
jmp 0x429f20
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x429f3b
cmp ecx, 4
jb 0x429f3b
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
mov byte [edi + 3], dl
lea eax, [edi + 4]
mov edx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, edi
sub ecx, eax
mov ebp, edx
mov edi, eax
movzx ebx, word [ebp]
test bx, bx
je 0x429f75
test ecx, ecx
jne 0x429e70
jmp 0x429f75
movzx eax, ax
cmp eax, 0xdc00
jne 0x429f49
mov ebp, edx
jmp 0x429f28
cmp ecx, 3
jb 0x429f71
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 0x429f20
mov eax, edi
jmp 0x429f20
mov byte [edi], 0
mov dword [esp + 0x74], 0x6f727141
mov dword [esp + 0x78], 0x7367666d
mov dword [esp + 0x7c], 0x78646661
mov dword [esp + 0x80], 0x7b7b4223
mov dword [esp + 0x84], 0x787d7e7c
mov dword [esp + 0x88], 0x7864453b
mov dword [esp + 0x8c], 0x7e76707e
mov dword [esp + 0x90], 0x676a336f
mov word [esp + 0x94], 0x2154
mov dword [esp + 0x96], 0
mov byte [esp + 0x9a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor byte [esp + eax + 0x74], al
inc eax
cmp eax, 0x27
jne 0x429ff0
lea eax, [esp + 0x74]
mov ecx, dword [esp + 0x21f8]
push esi
mov esi, dword [esp + 4]
push esi
push eax
call fcn.0040d810
mov ebx, eax
jmp dword [0x44d520]
and bl, 1
mov eax, ebx
add esp, 0x21e4
pop esi
pop edi
pop ebx
pop ebp
ret