Function at 0x424598
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e4
call fcn.0040cd20
mov dword [esp + 0x11e4], 0x13e011f4
mov dword [esp + 0x11e8], 0x1fd11dd1
mov dword [esp + 0x11ec], 0x1be919d1
mov dword [esp + 0x11f0], 0x7f405f8
mov dword [esp + 0x11f4], 0x3e601f9
mov dword [esp + 0x11f8], 0xffd0df1
mov dword [esp + 0x11fc], 0xbf809c5
mov dword [esp + 0x1200], 0x3534
mov byte [esp + 0x1204], 0
xor eax, eax
movzx edx, byte [esp + eax + 0x11e4]
lea esi, [eax + 0x4f7d85c4]
mov ecx, 0x3b
sub ecx, eax
xor ecx, esi
and ecx, edx
xor ecx, esi
mov edx, ecx
xor edx, 0x4a
and ecx, 0x35
add ecx, ecx
sub ecx, edx
add cl, 0x76
mov byte [esp + eax + 0x11e4], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0x21
jb case.default.0x4232a2
lea eax, [esp + 0x34]
lea ebp, [esp + 0x11e4]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00440bc0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x447508]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x5c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x54]
call fcn.00440fb0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447510]
xor ebx, ebx
jmp 0x4249d8
mov dword [esp + 0x24], 0
mov eax, dword [case.0x4232a2.7]
xor edi, edi
jmp case.0x4232a2.4
inc edi
mov eax, dword [case.0x4232a2.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp edi, dword [esp + 0x5c]
setb al
jmp dword [eax*4 + 0x447528]
mov esi, dword [esp + 0x58]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x423324
mov eax, 0xffffffff
push eax
call fcn.0040cdc0
add esp, 4
mov ebx, eax
mov dword [esp + 0x54], esi
lea eax, [esp + 0x54]
push eax
push ebx
push edi
push dword [esp + 0x40]
call fcn.00440cd0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447538]
jmp dword [0x4475e8]
lea eax, [esp + 0x40]
push dword [esp + 0x34]
push 0
push 0x20019
push eax
push ebx
call fcn.00440bc0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447540]
jmp dword [0x4475e8]
mov dword [esp + 0x38], edi
mov dword [esp + 0x74], 0x43eb410d
mov dword [esp + 0x78], 0x47d445e7
mov dword [esp + 0x7c], 0x4bd949e7
mov dword [esp + 0x80], 0x4fe84de3
mov dword [esp + 0x84], 0xb30eb124
mov dword [esp + 0x88], 0xb71fb503
mov dword [esp + 0x8c], 0xbb1eb916
mov dword [esp + 0x90], 0xbf29bd13
mov dword [esp + 0x94], 0xa3c2a133
mov dword [esp + 0x98], 0xa703a5e9
mov dword [esp + 0x9c], 0xab39a93b
mov dword [esp + 0xa0], 0xaf09ad0d
mov dword [esp + 0xa4], 0x933c9139
mov dword [esp + 0xa8], 0x97f69533
mov dword [esp + 0xac], 0x9b0f992b
mov dword [esp + 0xb0], 0x9f0d9d3e
mov dword [esp + 0xb4], 0x83118119
mov dword [esp + 0xb8], 0x87238510
mov dword [esp + 0xbc], 0x8b368925
mov dword [esp + 0xc0], 0x8f1c8d3c
mov dword [esp + 0xc4], 0xf354f15f
mov dword [esp + 0xc8], 0xf75af55d
mov dword [esp + 0xcc], 0xfb69f95d
mov dword [esp + 0xd0], 0xffa7fd40
mov dword [esp + 0xd4], 0xe3b5e1b3
mov dword [esp + 0xd8], 0xe7a5e5b1
mov dword [esp + 0xdc], 0xebace9ae
mov dword [esp + 0xe0], 0xefbaedbc
mov dword [esp + 0xe4], 0xd381d181
mov dword [esp + 0xe8], 0xd787d585
mov dword [esp + 0xec], 0xdb7ed989
mov dword [esp + 0xf0], 0xdf9cdd8f
mov dword [esp + 0xf4], 0xc39ac198
mov dword [esp + 0xf8], 0xc796c585
mov dword [esp + 0xfc], 0xcb9bc998
mov dword [esp + 0x100], 0xcf9acd9c
mov dword [esp + 0x104], 0x33603172
mov dword [esp + 0x108], 0x37603575
mov dword [esp + 0x10c], 0x3b6d396e
mov dword [esp + 0x110], 0x3f823d6a
mov dword [esp + 0x114], 0x2120
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf0
xor cl, byte [esp + eax + 0x74]
add cl, 0x50
mov byte [esp + eax + 0x74], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xa4
jb 0x423550
lea edi, [esp + 0x9ba]
lea eax, [esp + 0x74]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x114]
mov eax, 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], 0x69c56bd7
mov dword [esp + 0x78], 0x6df86fcd
mov dword [esp + 0x7c], 0x51c753fd
mov dword [esp + 0x80], 0x55fc57c1
mov dword [esp + 0x84], 0x59e65bc0
mov dword [esp + 0x88], 0x5df15fe1
mov dword [esp + 0x8c], 0x41e643ce
mov dword [esp + 0x90], 0x45df47d1
mov dword [esp + 0x94], 0x49aa4bd1
mov dword [esp + 0x98], 0x4dfa4ffa
mov dword [esp + 0x9c], 0x31f733f0
mov dword [esp + 0xa0], 0x35a037ab
mov dword [esp + 0xa4], 0x39913ba2
mov dword [esp + 0xa8], 0x3daa3faa
mov dword [esp + 0xac], 0x21892386
mov dword [esp + 0xb0], 0x25b327b6
mov dword [esp + 0xb4], 0x29bb2b8b
mov dword [esp + 0xb8], 0x2d922fba
mov dword [esp + 0xbc], 0x11bd1395
mov dword [esp + 0xc0], 0x15b21782
mov dword [esp + 0xc4], 0x19831b85
mov dword [esp + 0xc8], 0x1dfe1f8d
mov dword [esp + 0xcc], 0x1a903af
mov dword [esp + 0xd0], 0x5930795
mov dword [esp + 0xd4], 0x9a30ba3
mov dword [esp + 0xd8], 0xd9c0fa7
mov dword [esp + 0xdc], 0xf112f3a5
mov dword [esp + 0xe0], 0xf56df745
mov dword [esp + 0xe4], 0xf96ffb52
mov dword [esp + 0xe8], 0xfd6bff67
mov dword [esp + 0xec], 0xe149e368
mov dword [esp + 0xf0], 0xe55ae773
mov dword [esp + 0xf4], 0xe97ceb54
mov dword [esp + 0xf8], 0xed44ef79
mov dword [esp + 0xfc], 0xd17ed343
mov dword [esp + 0x100], 0xd543d77b
mov dword [esp + 0x104], 0xd96bdb68
mov dword [esp + 0x108], 0xdd4adf43
mov dword [esp + 0x10c], 0xc153c370
mov dword [esp + 0x110], 0xc56bc751
mov dword [esp + 0x114], 0xc915cb78
mov dword [esp + 0x118], 0xcd17cf1d
mov dword [esp + 0x11c], 0xb177b317
mov dword [esp + 0x120], 0xb57cb77a
mov dword [esp + 0x124], 0xb96ebb64
mov dword [esp + 0x128], 0xbd6bbf6f
mov dword [esp + 0x12c], 0xa175a36b
mov dword [esp + 0x130], 0xa502a777
mov dword [esp + 0x134], 0xa96cab71
mov dword [esp + 0x138], 0xad76af70
mov dword [esp + 0x13c], 0x9142936b
mov dword [esp + 0x140], 0x95419740
mov dword [esp + 0x144], 0x994e9b44
mov dword [esp + 0x148], 0x9d489f5e
mov dword [esp + 0x14c], 0x8158835b
mov dword [esp + 0x150], 0x855f875a
mov dword [esp + 0x154], 0x89368b5e
mov word [esp + 0x158], 0x8f88
mov word [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov eax, 0x17
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x5d]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x8d
mov byte [esp + eax + 0x5d], cl
inc eax
cmp eax, 0x103
jne 0x423830
lea edi, [esp + 0xa5c]
lea eax, [esp + 0x74]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x158]
lea edi, [esp + 0xb40]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x61fd67d3
mov dword [esp + 0x78], 0x5df063fd
mov dword [esp + 0x7c], 0x59d35fcd
mov dword [esp + 0x80], 0x55c45bc9
mov dword [esp + 0x84], 0x51f257d8
mov dword [esp + 0x88], 0x4dcc53e1
mov dword [esp + 0x8c], 0x49d54fd2
mov dword [esp + 0x90], 0x45d54bd5
mov dword [esp + 0x94], 0x419547e0
mov dword [esp + 0x98], 0x3d94438d
mov dword [esp + 0x9c], 0x399a3fec
mov dword [esp + 0xa0], 0x35b53b89
mov dword [esp + 0xa4], 0x31a237b8
mov dword [esp + 0xa8], 0x2da333a1
mov dword [esp + 0xac], 0x298a2fb9
mov dword [esp + 0xb0], 0x25b82b98
mov dword [esp + 0xb4], 0x21b827b5
mov dword [esp + 0xb8], 0x1db623bb
mov dword [esp + 0xbc], 0x19931f83
mov dword [esp + 0xc0], 0x15ab1bbc
mov dword [esp + 0xc4], 0x119a179b
mov dword [esp + 0xc8], 0xd831384
mov dword [esp + 0xcc], 0x99b0f9d
mov dword [esp + 0xd0], 0x5c10bac
mov dword [esp + 0xd4], 0x1cf07c9
mov dword [esp + 0xd8], 0xfdbf03cf
mov dword [esp + 0xdc], 0xf940ff42
mov dword [esp + 0xe0], 0xf536fb28
mov dword [esp + 0xe4], 0xf13bf727
mov dword [esp + 0xe8], 0xed21f323
mov dword [esp + 0xec], 0xe972ef3f
mov dword [esp + 0xf0], 0xe528eb25
mov dword [esp + 0xf4], 0xe12ee72c
mov dword [esp + 0xf8], 0xdd32e323
mov dword [esp + 0xfc], 0xd90ddf0c
mov dword [esp + 0x100], 0xd516db08
mov dword [esp + 0x104], 0xd104d716
mov dword [esp + 0x108], 0xcd1cd313
mov dword [esp + 0x10c], 0xc907cf02
mov dword [esp + 0x110], 0xc56ecb06
mov word [esp + 0x114], 0xc7c4
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x99
xor cl, byte [esp + eax + 0x74]
add cl, 3
mov byte [esp + eax + 0x74], cl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 0xa7
jb 0x423a50
lea edi, [esp + 0x918]
lea eax, [esp + 0x74]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x13ab11c5
mov dword [esp + 0x78], 0xef5ced4f
mov dword [esp + 0x7c], 0xeb59e95f
mov dword [esp + 0x80], 0xe758e553
mov dword [esp + 0x84], 0xe346e16c
mov dword [esp + 0x88], 0xff40fd2b
mov dword [esp + 0x8c], 0xfb43f946
mov dword [esp + 0x90], 0xf74bf557
mov dword [esp + 0x94], 0xf303f154
mov dword [esp + 0x98], 0xcf38cd00
mov dword [esp + 0x9c], 0xcb6ec938
mov dword [esp + 0xa0], 0xc74bc513
mov dword [esp + 0xa4], 0xc376c14c
mov dword [esp + 0xa8], 0xdf69dd6b
mov dword [esp + 0xac], 0xdb7ed963
mov dword [esp + 0xb0], 0xd764d504
mov dword [esp + 0xb4], 0xd36cd167
mov dword [esp + 0xb8], 0xaf1aad15
mov dword [esp + 0xbc], 0xab19a915
mov dword [esp + 0xc0], 0xa771a500
mov dword [esp + 0xc4], 0xa32ea12d
mov dword [esp + 0xc8], 0xbf09bd08
mov dword [esp + 0xcc], 0xbb01b90f
mov dword [esp + 0xd0], 0xb77fb510
mov dword [esp + 0xd4], 0xb37db143
mov dword [esp + 0xd8], 0x8f4d8d41
mov dword [esp + 0xdc], 0x8b548956
mov dword [esp + 0xe0], 0x874a8574
mov dword [esp + 0xe4], 0x83718171
mov dword [esp + 0xe8], 0x9f6f9d6d
mov dword [esp + 0xec], 0x9b269969
mov dword [esp + 0xf0], 0x97549567
mov dword [esp + 0xf4], 0x935a9158
mov dword [esp + 0xf8], 0x6f9e6dad
mov dword [esp + 0xfc], 0x6b9b6998
mov dword [esp + 0x100], 0x67aa6594
mov dword [esp + 0x104], 0x639061a2
mov dword [esp + 0x108], 0x7fb07dbd
mov dword [esp + 0x10c], 0x7bb579b6
mov dword [esp + 0x110], 0x77d275ba
mov word [esp + 0x114], 0x7170
mov dword [esp + 0x116], 0
mov eax, 0xeda22b7c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x125dd4f8]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x94
mov byte [esp + eax + 0x125dd4f8], cl
inc eax
cmp eax, 0xeda22c22
jne 0x423c80
mov dword [esp + 0x44], ebx
lea edi, [esp + 0x876]
lea edx, [esp + 0x74]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x114]
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x74], 0x1fb719d5
mov dword [esp + 0x78], 0xe3541dbb
mov dword [esp + 0x7c], 0xe751e153
mov dword [esp + 0x80], 0xeb40e557
mov dword [esp + 0x84], 0xef32e95c
mov dword [esp + 0x88], 0xf358ed3f
mov dword [esp + 0x8c], 0xf75ff15a
mov dword [esp + 0x90], 0xfb5ff553
mov dword [esp + 0x94], 0xff0ff924
mov dword [esp + 0x98], 0xc330fd09
mov dword [esp + 0x9c], 0xc71ac130
mov dword [esp + 0xa0], 0xcb7fc517
mov dword [esp + 0xa4], 0xcf62c97c
mov dword [esp + 0xa8], 0xd361cd7f
mov dword [esp + 0xac], 0xd70ad17f
mov dword [esp + 0xb0], 0xdb6cd504
mov dword [esp + 0xb4], 0xdf74d96b
mov dword [esp + 0xb8], 0xa30edd75
mov dword [esp + 0xbc], 0xa711a105
mov dword [esp + 0xc0], 0xab79a578
mov dword [esp + 0xc4], 0xaf1aa91d
mov dword [esp + 0xc8], 0xb301ad00
mov dword [esp + 0xcc], 0xb719b103
mov dword [esp + 0xd0], 0xbb43b568
mov dword [esp + 0xd4], 0xbf45b94f
mov dword [esp + 0xd8], 0x8345bd49
mov dword [esp + 0xdc], 0x874c814a
mov dword [esp + 0xe0], 0x8b7e8574
mov dword [esp + 0xe4], 0x8f798979
mov dword [esp + 0xe8], 0x93638d7d
mov dword [esp + 0xec], 0x97329161
mov dword [esp + 0xf0], 0x9b5c9563
mov dword [esp + 0xf4], 0x9f669960
mov dword [esp + 0xf8], 0x63929d5d
mov dword [esp + 0xfc], 0x67976190
mov dword [esp + 0x100], 0x6b9e6594
mov dword [esp + 0x104], 0x6f9869ae
mov dword [esp + 0x108], 0x73886dad
mov dword [esp + 0x10c], 0x778d718a
mov dword [esp + 0x110], 0x7ba6758e
mov dword [esp + 0x114], 0x7978
mov ecx, 0x25893f7a
mov eax, 0x5a76c085
nop
movzx esi, byte [esp + ecx - 0x25893f06]
mov edi, eax
xor edi, 0x5800a6b0
mov edx, eax
or edx, 0x276594f
and edx, edi
mov ebx, ecx
and ebx, 0x218826b0
or ebx, edx
xor ebx, esi
xor ebx, 0x8677594f
mov edx, 0x62
sub edx, ebx
inc ebx
and edx, 0xfd
and ebx, 2
sub ebx, edx
add bl, 0xfe
mov byte [esp + ecx - 0x25893f06], bl
inc ecx
dec eax
cmp ecx, 0x2589401e
jne 0x423ea0
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 eax, [esp + 0x114]
lea edi, [esp + 0xbe2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
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
jmp dword [eax*4 + 0x447548]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], 0x40474645
lea ecx, [esp + 0x114]
mov byte [ecx - 0x9a], 0
mov word [ecx - 0x9c], 0
mov ecx, 0x91
mov edx, 0x7d4c3d6e
nop
movzx esi, byte [esp + ecx - 0x1d]
mov ebx, ecx
and ebx, esi
not esi
and esi, edx
lea edi, [esi + esi]
not edi
add edi, esi
not ebx
and ebx, edi
add bl, 0x2b
mov byte [esp + ecx - 0x1d], bl
inc ecx
dec edx
cmp ecx, 0x98
jne 0x423f90
mov ecx, dword [0x44c2b0]
test ecx, ecx
mov ebx, dword [esp + 0x44]
je 0x4246ec
mov edx, dword [esp + 0x74]
xor esi, esi
mov edi, dword [0x44c2b4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4246e4
inc esi
cmp ecx, esi
jne 0x423fe0
jmp 0x4246ec
mov ecx, dword [esp + 0x48]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x447548]
mov dword [esp + 0x48], ecx
mov eax, dword [esp + ecx + 0x60]
mov dword [esp + 0x74], 0xf3e0938
mov dword [esp + 0x78], 0x3320d3c
mov dword [esp + 0x7c], 0x7360130
mov dword [esp + 0x80], 0x1bf20534
mov word [esp + 0x84], 0x1918
lea ecx, [esp + 0x114]
mov word [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x74]
lea esi, [ecx + 0x2a9e2fc2]
xor esi, edx
add esi, 0x2ae91135
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov byte [esp + ecx + 0x74], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x18
jb 0x424070
movzx ecx, word [eax]
lea edx, [esp + 0xbe4]
test cx, cx
je 0x4240d1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4240c0
mov word [edx], 0
movzx eax, word [esp + 0x74]
test ax, ax
je 0x424101
lea ecx, [esp + 0x76]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4240f0
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x28], edx
jmp dword [eax*4 + 0x447550]
mov ecx, dword [esp + 0x2c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x447550]
mov dword [esp + 0x2c], ecx
mov word [edx - 2], cx
mov eax, dword [case.0x4232a2.22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xbe4]
push dword [esp + 0x40]
push 0
push 0x20019
push eax
push ecx
call fcn.00440bc0
add esp, 0x14
mov ecx, dword [case.0x4232a2.26]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
mov edx, dword [esp + 0x28]
jmp dword [eax*4 + 0x447578]
mov dword [esp + 0x50], 0x800
mov dword [esp + 0x30], 0x400
xor esi, esi
mov dword [esp + 8], 0
jmp 0x4241b1
inc esi
lea eax, [esp + 0x30]
lea edi, [esp + 0xde4]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x50]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x84]
push eax
push esi
push dword [esp + 0x54]
call fcn.00441280
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447580]
mov edx, dword [esp + 0x4c]
test byte [esp + 8], 1
sete al
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4475a8]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x4475c8]
mov eax, dword [case.0x4246dd.32]
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 4], edx
mov dword [esp], esi
jmp dword [0x4475b0]
mov eax, dword [esp + 0x30]
cmp eax, 2
jb 0x4242f3
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x42430b
mov dword [esp + 8], ecx
xor edi, edi
lea ebx, [esp + 0xde4]
nop
nop
nop
nop
nop
nop
movzx esi, word [ebx]
mov ecx, ebx
xor ebx, ebx
test si, si
setne bl
lea ebx, [ecx + ebx*2]
mov word [ebp], si
add ebp, 2
inc edi
cmp edx, edi
jne 0x424270
sub eax, edi
mov ecx, dword [esp + 8]
cmp ecx, 3
jb 0x4242f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [ebx]
xor edx, edx
test cx, cx
setne dl
lea esi, [ebx + edx*2]
mov word [ebp], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [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 ebx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x4242a0
mov dword [ebp], 0x20003a
mov esi, dword [esp]
add ebp, 4
mov al, 1
mov dword [esp + 8], eax
jmp case.0x4246dd.32
lea ebx, [esp + 0xde4]
cmp ecx, 3
jae 0x4242a0
jmp 0x4242f3
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4475c0]
xor eax, eax
cmp dword [esp + 4], 3
sete al
mov esi, dword [esp]
jmp dword [eax*4 + 0x4475c8]
mov dword [esp], esi
mov dword [esp + 0xc], 0x49d54bfc
mov dword [esp + 0x10], 0x45cb47c5
mov dword [esp + 0x14], 0x41d343cd
mov dword [esp + 0x18], 0xbd22bfce
mov word [esp + 0x1c], 0xbbbc
mov dword [esp + 0x1e], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x26
mov edx, ecx
xor edx, 0x73
add edx, esi
xor dl, byte [esp + ecx + 0xc]
add dl, 0xc1
mov byte [esp + ecx + 0xc], dl
inc ecx
add eax, 2
cmp ecx, 0x16
jne 0x424380
movzx esi, word [esp + 0xc]
lea eax, [esp + 0x74]
test si, si
je 0x4243ec
lea ecx, [esp + 0x74]
lea edx, [esp + 0xc]
mov eax, ecx
jmp 0x4243c8
movzx esi, word [edx]
test si, si
je 0x4243ec
movzx edi, word [ecx]
test di, di
je 0x4243ea
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x4243e2
mov eax, ebx
mov ecx, ebx
je 0x4243c0
lea edx, [esp + 0xc]
jmp 0x4243c0
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp]
jmp dword [ecx*4 + 0x4475d0]
mov eax, dword [esp + 0x30]
cmp eax, 2
jb 0x4244b6
shr eax, 1
lea edx, [eax - 1]
mov esi, eax
lea ecx, [esp + 0xde4]
and esi, 3
je 0x424450
mov dword [esp + 4], edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ecx]
xor edx, edx
test bx, bx
setne dl
lea ecx, [ecx + edx*2]
mov word [ebp], bx
add ebp, 2
inc edi
cmp esi, edi
jne 0x424430
sub eax, edi
mov edx, dword [esp + 4]
cmp edx, 3
mov esi, dword [esp]
jb 0x4244b6
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [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 ecx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x424460
mov esi, dword [esp]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0x24], eax
inc esi
jmp 0x4241b1
mov dword [esp + 0xc], 0x23c121e1
mov dword [esp + 0x10], 0x27b925c7
mov dword [esp + 0x14], 0xdb44d94d
mov dword [esp + 0x18], 0xdfdedd48
lea eax, [esp + 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, pe_nt_image_headers32
mov edx, 0x87
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx - 0x6c]
mov ebx, edx
xor ebx, ecx
and ebx, eax
xor ebx, ecx
add bl, 0xa8
mov byte [esp + ecx - 0x6c], bl
inc ecx
dec edx
cmp ecx, 0x8b
jne 0x424510
movzx edi, word [esp + 0xc]
lea esi, [esp + 0x74]
test di, di
je 0x424580
lea ecx, [esp + 0x74]
lea ebx, [esp + 0xc]
mov esi, ecx
jmp 0x424558
movzx edi, word [ebx]
test di, di
je 0x424580
movzx eax, word [ecx]
test ax, ax
je 0x424590
add ecx, 2
add ebx, 2
lea edx, [esi + 2]
cmp ax, di
je 0x424572
mov esi, edx
mov ecx, edx
je 0x424550
lea ebx, [esp + 0xc]
jmp 0x424550
jmp dword [0x4475b8]
xor esi, esi
jmp dword [0x4475b8]
mov dword [esp + 0xc], 0x23c121e1
mov dword [esp + 0x10], 0x27b925c7
mov dword [esp + 0x14], 0xdb44d94d
mov dword [esp + 0x18], 0xdfdedd48
lea eax, [esp + 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, pe_nt_image_headers32
mov edx, 0x87
nop
movzx eax, byte [esp + ecx - 0x6c]
mov ebx, edx
xor ebx, ecx
and ebx, eax
xor ebx, ecx
add bl, 0xa8
mov byte [esp + ecx - 0x6c], bl
inc ecx
dec edx
cmp ecx, 0x8b
jne 0x4245d0
jmp case.0x4246dd.24
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], 0x40474645
lea ecx, [esp + 0x1c]
mov byte [ecx - 0xa], 0
mov word [ecx - 0xc], 0
mov ecx, 0x91
mov edx, 0x7d4c3d6e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x85]
mov ebx, ecx
and ebx, esi
not esi
and esi, edx
lea edi, [esi + esi]
not edi
add edi, esi
not ebx
and ebx, edi
add bl, 0x2b
mov byte [esp + ecx - 0x85], bl
inc ecx
dec edx
cmp ecx, 0x98
jne 0x424630
mov ecx, dword [0x44c2b0]
test ecx, ecx
je 0x4246a0
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x44c2b4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x424690
inc esi
cmp ecx, esi
jne 0x424680
jmp 0x4246a0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x4246b2
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x2c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x28]
jmp dword [eax*4 + 0x447550]
push eax
push 1
push ecx
push dword [0x44c2b8]
call fcn.0043ca30
add esp, 0x10
mov ecx, dword [esp + 0x2c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x28]
jmp dword [eax*4 + 0x447550]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x424712
mov edi, dword [esp + 0x38]
jmp dword [0x4475e8]
push ebx
call fcn.0040cdd0
add esp, 4
mov eax, dword [case.0x4246dd.39]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push eax
push 1
push ecx
push dword [0x44c2b8]
call fcn.0043ca30
add esp, 0x10
mov edi, dword [esp + 0x38]
jmp dword [0x4475e8]
mov word [ebp], 0
mov ebx, dword [esp + 0x24]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x447530]
movzx ebx, word [esp + 0x11e4]
xor edi, edi
test bx, bx
je 0x42479b
lea eax, [esp + 0x11e6]
mov ecx, ebx
jmp 0x42476c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42479b
cmp cx, 0x7f
jbe 0x424760
movzx edx, cx
cmp edx, 0x7ff
ja 0x424790
add edi, 2
jmp 0x424761
cmp cx, 0xffff
je 0x424761
add edi, 3
jmp 0x424761
lea eax, [edi + 1]
push eax
call fcn.0040cdc0
add esp, 4
mov esi, eax
mov dword [esp + 4], eax
test bx, bx
je 0x424914
mov esi, dword [esp + 4]
test edi, edi
je 0x424914
lea edx, [esp + 0x11e4]
mov ecx, edi
mov esi, dword [esp + 4]
mov dword [esp + 0x24], edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, bx
lea ebp, [edx + 2]
cmp bx, 0x7f
ja 0x424800
mov byte [esi], bl
lea eax, [esi + 1]
jmp 0x4248c0
cmp ebx, 0x7ff
ja 0x424830
cmp ecx, 2
jb 0x424830
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [esi], al
mov edx, ebx
not edx
or edx, 0x3f
add edx, ebx
add dl, 0x81
lea eax, [esi + 2]
mov byte [esi + 1], dl
jmp 0x4248c0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4248da
cmp ecx, 4
jb 0x4248da
movzx eax, word [edx + 2]
mov dword [esp], eax
shl ebx, 0xa
add ebx, 0xfca00000
lea ebp, [eax - 0xdc00]
mov edi, ebp
and edi, ebx
xor ebp, ebx
lea eax, [edi*2]
add eax, ebp
mov dword [esp + 8], eax
lea eax, [edi*2 + 0x10000]
add eax, ebp
mov edi, dword [esp + 0x24]
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [esi], bl
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
mov eax, dword [esp + 8]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 2], al
mov eax, dword [esp]
and al, 0x3f
or al, 0x80
mov byte [esi + 3], al
lea eax, [esi + 4]
add edx, 4
mov ebp, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, esi
sub ecx, eax
mov edx, ebp
mov esi, eax
movzx ebx, word [edx]
test bx, bx
je 0x424914
test ecx, ecx
jne 0x4247e0
jmp 0x424914
movzx eax, ax
cmp eax, 0xdc00
jne 0x4248e8
mov edx, ebp
jmp 0x4248c8
cmp ecx, 3
jb 0x424910
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [esi], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [esi + 3]
mov byte [esi + 2], bl
jmp 0x4248c0
mov eax, esi
jmp 0x4248c0
mov byte [esi], 0
mov dword [esp + 0x74], 0xf5f6f7c7
mov dword [esp + 0x78], 0xf1e1eeeb
mov dword [esp + 0x7c], 0xf4f8fee7
mov dword [esp + 0x80], 0xe9f5da39
mov dword [esp + 0x84], 0xe4e7e6e0
mov dword [esp + 0x88], 0xece0c321
mov dword [esp + 0x8c], 0xf6eaf4f2
mov dword [esp + 0x90], 0xdde62de5
mov word [esp + 0x94], 0x27d8
mov dword [esp + 0x96], 0
mov word [esp + 0x9a], 0
mov eax, 0x41
mov ecx, 0xbe
nop
movzx edx, byte [esp + eax + 0x33]
mov esi, eax
or esi, edx
not edx
or edx, ecx
and edx, esi
add dl, 0xbb
mov byte [esp + eax + 0x33], dl
inc eax
dec ecx
cmp eax, 0x69
jne 0x424990
lea eax, [esp + 0x74]
mov ecx, dword [esp + 0x21f8]
push edi
mov esi, dword [esp + 8]
push esi
push eax
call fcn.0040d880
mov ebx, eax
jmp dword [0x447600]
push esi
call fcn.0040cdd0
add esp, 4
and bl, 1
mov eax, ebx
add esp, 0x21e4
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor al, byte [edx]
xlatb
xor al, byte [edx]
xlatb
xor al, byte [edx]
fidiv word [edx]
inc edx
add byte [eax], al
xor eax, dword [edx]
add byte [ebx], dh
inc edx
add byte [eax], al
xor eax, dword [edx]
add dh, byte [ebx]
inc edx
add byte [esi], ch
inc edi
inc edx
add byte [edx], dl
xor eax, dword [edx]
aad 0x49
inc edx
add byte [esi + 0x47], al
inc edx
add byte [edx + 0x33], dl
inc edx
add byte [eax + 0x33], bl
inc edx
add byte [ebp + 0x33], bh
inc edx
add byte [ebx + 0x62004233], al
aas
inc edx
add byte [esi], dl
inc eax
inc edx
add byte [eax], al
inc eax
inc edx
add byte [0x50004241], dh
inc ecx
inc edx
add byte [eax + 0x41], dl
inc edx
add byte [edx + 0x41], dl
inc edx
add byte [eax + 0x41], dl
inc edx
add byte [eax - 0x7fffbdbf], al
inc ecx
inc edx
add byte [edx - 0x7fffbdbf], al
inc ecx
inc edx
add byte [eax], ah
inc ecx
inc edx
add byte [edx + 0x4241], dl
inc esi
inc edx
add cl, ch
inc ecx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ch, ah
dec ecx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ch, ah
dec ecx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edi], al
inc edx
inc edx
add byte [eax], dh
inc edx
inc edx
add al, dl
inc esp
inc edx
add byte [eax + 0x20004245], bl
inc ebx
inc edx
add byte [eax + 0x2e004245], bl
inc ebx
inc edx
add byte [eax + 0x42], al
inc edx
add byte [esi], dl
inc edx
inc edx
add byte [edx + 0x43], al
inc edx
add byte [eax - 0x2ffbdbf], dh
inc ebx
inc edx
add byte [eax], ah
inc edx
inc edx
add byte [eax], ah
inc edx
inc edx
add byte [eax], ah
inc edx
inc edx
add byte [eax - 0x9ffbdbf], dh
inc esi
inc edx
add bh, ch
xor al, byte [edx]
adc byte [edi + 0x42], al
add byte [eax], dl
inc edi
inc edx
add byte [eax], dl
inc edi
inc edx
add bh, ch
xor al, byte [edx]
int3