Function at 0x41e050
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.00409c90
mov dword [esp + 0x11e8], 0x6f100ed
mov dword [esp + 0x11ec], 0x3ac204fe
mov dword [esp + 0x11f0], 0x3eca38c6
mov dword [esp + 0x11f4], 0x32c53cc9
mov dword [esp + 0x11f8], 0x36db30de
mov dword [esp + 0x11fc], 0x2ade34de
mov dword [esp + 0x1200], 0x2ed928d2
mov word [esp + 0x1204], 0x2c2d
mov dword [esp + 0x1206], 0
mov byte [esp + 0x120a], 0
mov dword [esp + 0xa78], 0
mov eax, dword [esp + 0xa78]
cmp eax, 0x22
ja 0x41df98
nop
mov eax, dword [esp + 0xa78]
mov ecx, dword [esp + 0xa78]
movzx ecx, byte [esp + ecx + 0x11e8]
add eax, 0xdbd6b75a
xor eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
add al, 0xa5
mov ecx, dword [esp + 0xa78]
mov byte [esp + ecx + 0x11e8], al
inc dword [esp + 0xa78]
mov eax, dword [esp + 0xa78]
cmp eax, 0x23
jb 0x41df50
lea eax, [esp + 0x34]
lea ebp, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.004404a0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4475e8]
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x60]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x54]
call fcn.004408d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4475f0]
xor eax, eax
jmp 0x41f8ca
mov eax, dword [case.0x41dfb9.6]
xor esi, esi
nop
nop
nop
nop
mov dword [esp + 0x10], 0
jmp eax
mov edi, dword [esp + 0x5c]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41e022
mov eax, 0xffffffff
push eax
call fcn.00409cc0
add esp, 4
mov ebx, eax
mov dword [esp + 0x58], edi
lea eax, [esp + 0x58]
push eax
push ebx
push esi
push dword [esp + 0x40]
call fcn.004405e0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447618]
lea eax, [esp + 0x44]
push dword [esp + 0x34]
push 0
push 0x20019
push eax
push ebx
call fcn.004404a0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447620]
mov eax, dword [case.0x41dfb9.12]
jmp case.0x41f5bd.34
mov dword [esp + 0x78], 0x661c6432
mov dword [esp + 0x7c], 0x6211601c
mov dword [esp + 0x80], 0x7ef27c0c
mov dword [esp + 0x84], 0x7a057808
mov dword [esp + 0x88], 0x761374f9
mov dword [esp + 0x8c], 0x72087018
mov dword [esp + 0x90], 0x8ef38cfb
mov dword [esp + 0x94], 0x8a0288f8
mov dword [esp + 0x98], 0x86a78408
mov dword [esp + 0x9c], 0x82fc80d6
mov dword [esp + 0xa0], 0x9e129c10
mov dword [esp + 0xa4], 0x9ae298fa
mov dword [esp + 0xa8], 0x96e194ee
mov dword [esp + 0xac], 0x92b390e8
mov dword [esp + 0xb0], 0xae20acc0
mov dword [esp + 0xb4], 0xaa26a8cb
mov dword [esp + 0xb8], 0xa62aa42e
mov dword [esp + 0xbc], 0xa2dca02d
mov dword [esp + 0xc0], 0xbedbbcca
mov dword [esp + 0xc4], 0xbac9b8e9
mov dword [esp + 0xc8], 0xb6c9b4c4
mov dword [esp + 0xcc], 0xb2c7b0ca
mov dword [esp + 0xd0], 0xce42ccb2
mov dword [esp + 0xd4], 0xca80c8ad
mov dword [esp + 0xd8], 0xc68ec488
mov dword [esp + 0xdc], 0xc29ec08e
mov dword [esp + 0xe0], 0xde81dc83
mov dword [esp + 0xe4], 0xda97d8e9
mov dword [esp + 0xe8], 0xd69ad4e6
mov dword [esp + 0xec], 0xd2e0d0e2
mov dword [esp + 0xf0], 0xee93ecde
mov dword [esp + 0xf4], 0xeaa9e8a4
mov dword [esp + 0xf8], 0xe6afe4ad
mov dword [esp + 0xfc], 0xe2d3e0a2
mov dword [esp + 0x100], 0xfeccfccd
mov dword [esp + 0x104], 0xfab7f8c9
mov dword [esp + 0x108], 0xf6c5f4b7
mov dword [esp + 0x10c], 0xf2bdf0b2
mov dword [esp + 0x110], 0xe460c43
mov dword [esp + 0x114], 0xa6f0847
lea eax, [esp + 0x118]
mov dword [esp + 0x118], 0x405
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa3
ja 0x41e2ad
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0x693f9e68
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0xf3
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa4
jb 0x41e260
lea edi, [esp + 0xf1c]
lea edx, [esp + 0x78]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xfbc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x3b8b3d6d
mov dword [esp + 0x7c], 0x37b63987
mov dword [esp + 0x80], 0x33b93587
mov dword [esp + 0x84], 0xf8a3183
mov dword [esp + 0x88], 0xba80d82
mov dword [esp + 0x8c], 0x7bf09a3
mov dword [esp + 0x90], 0x3b805b4
mov dword [esp + 0x94], 0x1f8901b3
mov dword [esp + 0x98], 0x1b7c1d93
mov dword [esp + 0x9c], 0x17b41948
mov dword [esp + 0xa0], 0x134915b2
mov dword [esp + 0xa4], 0x6f9e1199
mov dword [esp + 0xa8], 0x6bd76de0
mov dword [esp + 0xac], 0x67e469d8
mov dword [esp + 0xb0], 0x63df65cc
mov dword [esp + 0xb4], 0x7fed61ec
mov dword [esp + 0xb8], 0x7bcd7dc9
mov dword [esp + 0xbc], 0x77dc79c8
mov dword [esp + 0xc0], 0x73c375df
mov dword [esp + 0xc4], 0x4fcc71c0
mov dword [esp + 0xc8], 0x4bc54dff
mov dword [esp + 0xcc], 0x472849c7
mov dword [esp + 0xd0], 0x43ff4515
mov dword [esp + 0xd4], 0x5fcd41cf
mov dword [esp + 0xd8], 0x5be55de1
mov dword [esp + 0xdc], 0x57ea59ed
mov dword [esp + 0xe0], 0x533455ef
mov dword [esp + 0xe4], 0xafdb51ff
mov dword [esp + 0xe8], 0xab21ad10
mov dword [esp + 0xec], 0xa725a92d
mov dword [esp + 0xf0], 0xa31fa52a
mov dword [esp + 0xf4], 0xbf04a111
mov dword [esp + 0xf8], 0xbb32bdee
mov dword [esp + 0xfc], 0xb702b90b
mov dword [esp + 0x100], 0xb300b501
mov dword [esp + 0x104], 0x8f3db109
mov dword [esp + 0x108], 0x8bdd8d2a
mov dword [esp + 0x10c], 0x87048901
mov dword [esp + 0x110], 0x83358532
mov dword [esp + 0x114], 0x9f358133
mov dword [esp + 0x118], 0x9bdb9d3a
mov dword [esp + 0x11c], 0x97d199d7
mov dword [esp + 0x120], 0x93c995dd
mov dword [esp + 0x124], 0xefca91c8
mov dword [esp + 0x128], 0xeba0ed9e
mov dword [esp + 0x12c], 0xe7a5e9a5
mov dword [esp + 0x130], 0xe3abe5a9
mov dword [esp + 0x134], 0xff5ce1ad
mov dword [esp + 0x138], 0xfba2fdb3
mov dword [esp + 0x13c], 0xf7b0f9b2
mov dword [esp + 0x140], 0xf384f5a9
mov dword [esp + 0x144], 0xcfbff182
mov dword [esp + 0x148], 0xcb80cdbe
mov dword [esp + 0x14c], 0xc786c994
mov dword [esp + 0x150], 0xc38ec599
mov dword [esp + 0x154], 0xdf89c188
mov dword [esp + 0x158], 0xdb78dd94
lea eax, [esp + 0x15c]
mov word [esp + 0x15c], 0xd9da
mov dword [esp + 0x15e], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0xe9
ja 0x41e5cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0x7a26c211
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0xd1
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0xea
jb 0x41e580
lea edi, [esp + 0xfbe]
lea edx, [esp + 0x78]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x10a2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0xc75fc13d
mov dword [esp + 0x7c], 0xfb6cc523
mov dword [esp + 0x80], 0xff69f96b
mov dword [esp + 0x84], 0xf368fd6f
mov dword [esp + 0x88], 0xf71af164
mov dword [esp + 0x8c], 0xeb70f507
mov dword [esp + 0x90], 0xef77e972
mov dword [esp + 0x94], 0xe307ed0b
mov dword [esp + 0x98], 0xe737e10c
mov dword [esp + 0x9c], 0x9b48e533
mov dword [esp + 0xa0], 0x9f729948
mov dword [esp + 0xa4], 0x93079d6f
mov dword [esp + 0xa8], 0x970a9104
mov dword [esp + 0xac], 0x8b199507
mov dword [esp + 0xb0], 0x8f628917
mov dword [esp + 0xb4], 0x83148d7c
mov dword [esp + 0xb8], 0x871c8113
mov dword [esp + 0xbc], 0xbb26851d
mov dword [esp + 0xc0], 0xbf29b95d
mov dword [esp + 0xc4], 0xb341bd50
mov dword [esp + 0xc8], 0xb722b125
mov dword [esp + 0xcc], 0xab39b528
mov dword [esp + 0xd0], 0xaf31a93b
mov dword [esp + 0xd4], 0xa36bad40
mov dword [esp + 0xd8], 0xa76da177
mov dword [esp + 0xdc], 0x5b9da571
mov dword [esp + 0xe0], 0x5fa459a2
mov dword [esp + 0xe4], 0x53865d8c
mov dword [esp + 0xe8], 0x57815181
mov dword [esp + 0xec], 0x4b9b5585
mov dword [esp + 0xf0], 0x4faa4999
mov dword [esp + 0xf4], 0x43844d9b
mov dword [esp + 0xf8], 0x478e4188
mov dword [esp + 0xfc], 0x7baa4585
mov dword [esp + 0x100], 0x7faf79a8
mov dword [esp + 0x104], 0x73a67dac
mov dword [esp + 0x108], 0x77a071b6
mov dword [esp + 0x10c], 0x6ba075b5
mov dword [esp + 0x110], 0x6fa569a2
mov dword [esp + 0x114], 0x638e6da6
lea eax, [esp + 0x118]
mov dword [esp + 0x118], 0x6160
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa3
ja 0x41e82d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0xd5a5419a
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0xa6
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa4
jb 0x41e7e0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], esi
lea edi, [esp + 0xe7a]
lea edx, [esp + 0x78]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xf1a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x9521975b
mov dword [esp + 0x7c], 0x912c9339
mov dword [esp + 0x80], 0x9d239f21
mov dword [esp + 0x84], 0x99309b2d
mov dword [esp + 0x88], 0x65c26724
mov dword [esp + 0x8c], 0x61c863b5
mov dword [esp + 0x90], 0x6dd96fca
mov dword [esp + 0x94], 0x69c16bc1
mov dword [esp + 0x98], 0x758977cc
mov dword [esp + 0x9c], 0x71807388
mov dword [esp + 0xa0], 0x7dda7f80
mov dword [esp + 0xa4], 0x79c17bad
mov dword [esp + 0xa8], 0x45f247c4
mov dword [esp + 0xac], 0x41f343f5
mov dword [esp + 0xb0], 0x4dea4ff5
mov dword [esp + 0xb4], 0x49f44b9c
mov dword [esp + 0xb8], 0x55fc57f9
mov dword [esp + 0xbc], 0x51e653e3
mov dword [esp + 0xc0], 0x5de35ffb
mov dword [esp + 0xc4], 0x598b5bf8
mov dword [esp + 0xc8], 0x259a27e3
mov dword [esp + 0xcc], 0x21932390
mov dword [esp + 0xd0], 0x2d9b2f91
mov dword [esp + 0xd4], 0x29ed2b88
mov dword [esp + 0xd8], 0x35cf37d5
mov dword [esp + 0xdc], 0x31ff33cf
mov dword [esp + 0xe0], 0x3df43ffa
mov dword [esp + 0xe4], 0x39c63bcc
mov dword [esp + 0xe8], 0x5fb07c7
mov dword [esp + 0xec], 0x1fd03fb
mov dword [esp + 0xf0], 0xda20fff
mov dword [esp + 0xf4], 0x9c40bf1
mov dword [esp + 0xf8], 0x15ee17f0
mov dword [esp + 0xfc], 0x11e213db
mov dword [esp + 0x100], 0x1de11fe0
mov dword [esp + 0x104], 0x19e61bec
mov dword [esp + 0x108], 0xe518e7d6
mov dword [esp + 0x10c], 0xe118e32b
mov dword [esp + 0x110], 0xed17ef1a
mov dword [esp + 0x114], 0xe94eeb16
lea edx, [esp + 0x118]
mov word [esp + 0x118], 0xf7e8
lea eax, [esp + 0x7a]
mov word [eax + 0xa4], 0
mov dword [eax + 0xa0], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa7
ja 0x41ea9a
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0x3d4c156f
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0x19
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa8
jb 0x41ea50
lea eax, [esp + 0x1146]
lea esi, [esp + 0x78]
mov ecx, 0x28
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x11e6]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x5aac5c8e
mov dword [esp + 0x7c], 0x669958b4
mov dword [esp + 0x80], 0x629e6494
mov dword [esp + 0x84], 0x6e856090
mov dword [esp + 0x88], 0x6a8f6c91
mov dword [esp + 0x8c], 0x769d68b8
mov dword [esp + 0x90], 0x7284749f
mov dword [esp + 0x94], 0x7e94709c
mov dword [esp + 0x98], 0x7a447c99
mov dword [esp + 0x9c], 0x6357842
mov dword [esp + 0xa0], 0x2e70435
mov dword [esp + 0xa4], 0xef400d0
mov dword [esp + 0xa8], 0xaff0cf1
mov dword [esp + 0xac], 0x16e608f8
mov dword [esp + 0xb0], 0x12f714e0
mov dword [esp + 0xb4], 0x1ee110c1
mov dword [esp + 0xb8], 0x1af11cec
mov dword [esp + 0xbc], 0x26d318ee
mov dword [esp + 0xc0], 0x22de24ce
mov dword [esp + 0xc4], 0x2efe20c5
mov dword [esp + 0xc8], 0x2ad72cd6
mov dword [esp + 0xcc], 0x36c628dd
mov dword [esp + 0xd0], 0x32c634c4
mov dword [esp + 0xd4], 0x3ef830d5
mov dword [esp + 0xd8], 0x3a023c00
mov dword [esp + 0xdc], 0xc60a3802
mov dword [esp + 0xe0], 0xc209c40f
mov dword [esp + 0xe4], 0xcef3c0f1
mov dword [esp + 0xe8], 0xcaf6ccf2
mov dword [esp + 0xec], 0xd6e8c8f6
mov dword [esp + 0xf0], 0xd23fd4ea
mov dword [esp + 0xf4], 0xde11d0ec
mov dword [esp + 0xf8], 0xdae3dce5
mov dword [esp + 0xfc], 0xe6d7d816
mov dword [esp + 0x100], 0xe2dce4d5
mov dword [esp + 0x104], 0xeed3e0d1
mov dword [esp + 0x108], 0xead5ec23
mov dword [esp + 0x10c], 0xf6cde826
mov dword [esp + 0x110], 0xf2caf4cf
mov dword [esp + 0x114], 0xfe1bf0cb
lea ebx, [esp + 0x118]
mov word [esp + 0x118], 0xfcfd
lea ecx, [esp + 0x7a]
mov word [ecx + 0xa4], 0
mov dword [ecx + 0xa0], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa7
ja 0x41ed20
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx esi, byte [esp + edx + 0x78]
lea edx, [ecx + 0x1a]
and edx, esi
add ecx, esi
sub ecx, edx
add ecx, 0x3f36301a
mov esi, ecx
not esi
and esi, edx
not edx
and edx, ecx
sub edx, esi
mov dword [esp + 0xa78], edx
mov ecx, dword [esp + 0xa78]
add cl, 0xb9
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa8
jb 0x41ecc0
lea edx, [esp + 0x10a4]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x1144]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xf1c]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0xfbe]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xe7a]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x447628]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x78], 0xd3d0d1d6
mov dword [esp + 0x7c], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 7
ja 0x41ee0a
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0xb3ba1ca3
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0x8a
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 8
jb 0x41edc0
mov ecx, dword [0x44ba98]
test ecx, ecx
je 0x41f5e0
mov edx, dword [esp + 0x78]
xor edi, edi
mov ebx, dword [0x44ba9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41f5c4
inc edi
cmp ecx, edi
jne 0x41ee30
jmp 0x41f5e0
mov ecx, dword [esp + 0x50]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x447628]
mov dword [esp + 0x50], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x3eed3ceb
mov dword [esp + 0x7c], 0x22f120ef
mov dword [esp + 0x80], 0x26f524f3
mov dword [esp + 0x84], 0x2a9128f7
mov word [esp + 0x88], 0x2c2b
mov dword [esp + 0x8a], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0x15
ja 0x41ef0a
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0x852c8e4b
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0x90
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0x16
jb 0x41eec0
movzx ecx, word [eax]
lea esi, [esp + 0x878]
test cx, cx
je 0x41ef31
add eax, 2
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41ef20
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x41ef61
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 0x41ef50
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x38], esi
jmp dword [eax*4 + 0x447630]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x447630]
mov word [esi - 2], di
lea eax, [esp + 0x40]
lea ecx, [esp + 0x878]
push dword [esp + 0x44]
push 0
push 0x20019
push eax
push ecx
call fcn.004404a0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447648]
jmp dword [0x447654]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x54], 0x800
jmp dword [0x447658]
mov dword [esp + 0x18], 0x400
mov eax, dword [case.0x41ed7e.17]
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x3c], edi
xor esi, esi
mov dword [esp + 4], 0
jmp 0x41f015
mov esi, dword [esp + 8]
inc esi
lea eax, [esp + 0x18]
lea edi, [esp + 0xa78]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x54]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x1c], esi
push esi
push dword [esp + 0x58]
call fcn.00440bc0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447670]
test byte [esp + 4], 1
sete al
cmp dword [esp + 0x30], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447678]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
jmp dword [eax*4 + 0x447688]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], 0x78e47a04
mov dword [esp + 0x20], 0x74e476ea
mov dword [esp + 0x24], 0x70e372f8
mov dword [esp + 0x28], 0x6c6d6ee3
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x41f0ee
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xfb974fe4
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x61
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x41f0c0
movzx ebp, word [esp + 0x1c]
lea esi, [esp + 0x78]
test bp, bp
je 0x41f13c
lea eax, [esp + 0x78]
lea edx, [esp + 0x1c]
mov esi, eax
jmp 0x41f118
movzx ebp, word [edx]
test bp, bp
je 0x41f13c
movzx ebx, word [eax]
test bx, bx
je 0x41f13a
add eax, 2
add edx, 2
lea ecx, [esi + 2]
cmp bx, bp
je 0x41f132
mov esi, ecx
mov eax, ecx
je 0x41f110
lea edx, [esp + 0x1c]
jmp 0x41f110
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x447680]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
mov ebp, dword [esp + 0xc]
jmp dword [eax*4 + 0x447688]
mov dword [esp + 0x1c], 0xb959bf6e
mov dword [esp + 0x20], 0x45b7bb49
mov dword [esp + 0x24], 0x41b747b9
mov dword [esp + 0x28], 0x4da043b0
mov dword [esp + 0x2c], 0x4f4e
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41f1de
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
lea edx, [eax + ecx]
add edx, 0x2689aefa
add eax, 0x2689aefa
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xbc
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41f1a0
movzx edi, word [esp + 0x1c]
lea eax, [esp + 0x78]
test di, di
je 0x41f311
lea ecx, [esp + 0x78]
lea edx, [esp + 0x1c]
mov eax, ecx
jmp 0x41f20c
movzx edi, word [edx]
test di, di
je 0x41f311
movzx ebx, word [ecx]
test bx, bx
je 0x41f30f
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x41f22a
mov eax, esi
mov ecx, esi
je 0x41f200
lea edx, [esp + 0x1c]
jmp 0x41f200
mov eax, dword [esp + 0x18]
cmp eax, 2
mov ebp, dword [esp + 0xc]
jb 0x41f2f5
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x41f291
mov dword [esp + 4], ecx
mov ecx, ebp
xor ebp, ebp
lea edi, [esp + 0xa78]
nop
nop
nop
nop
movzx esi, word [edi]
xor ebx, ebx
test si, si
setne bl
lea edi, [edi + ebx*2]
mov word [ecx], si
add ecx, 2
inc ebp
cmp edx, ebp
jne 0x41f270
sub eax, ebp
mov ebp, ecx
mov ecx, dword [esp + 4]
cmp ecx, 3
mov esi, dword [esp + 8]
jb 0x41f2f9
nop
nop
nop
nop
nop
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 0x41f2a0
mov esi, dword [esp + 8]
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 4], eax
inc esi
jmp 0x41f015
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0xc], ebp
jmp dword [ecx*4 + 0x447690]
jmp dword [0x447698]
mov eax, dword [esp + 0x18]
mov edx, ebp
cmp eax, 2
jb 0x41f3e2
shr eax, 1
lea esi, [eax - 1]
mov ebp, eax
lea ecx, [esp + 0xa78]
and ebp, 3
je 0x41f4cc
mov dword [esp + 0x10], esi
xor edi, edi
mov edx, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edx], si
add edx, 2
inc edi
cmp ebp, edi
jne 0x41f360
sub eax, edi
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
cmp esi, 3
jb 0x41f3e2
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 [edx], si
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea esi, [edi + ebx*2]
mov word [edx + 2], cx
movzx ecx, word [edi + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea edi, [esi + ebx*2]
mov word [edx + 4], cx
movzx esi, word [esi + ebx*2]
xor ecx, ecx
test si, si
setne cl
mov word [edx + 6], si
add edx, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x41f390
mov word [edx], 0xa
jmp case.0x41f5bd.26
mov word [eax], 0xa
jmp dword [0x4476a0]
mov edi, dword [esp + 0x18]
mov eax, ebp
cmp edi, 2
jb 0x41f3f0
shr edi, 1
mov edx, edi
and edx, 3
je 0x41f443
mov eax, ebp
xor ebp, ebp
lea ecx, [esp + 0xa78]
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [eax], si
add eax, 2
inc ebp
cmp edx, ebp
jne 0x41f420
mov edx, edi
sub edx, ebp
mov ebp, dword [esp + 0xc]
jmp 0x41f44e
lea ecx, [esp + 0xa78]
mov eax, ebp
mov edx, edi
dec edi
cmp edi, 3
jb 0x41f3f0
nop
nop
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 0x41f460
jmp 0x41f3f0
add eax, 2
mov cl, 1
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 8]
inc esi
mov ebp, eax
jmp 0x41f015
mov ebp, dword [esp + 0xc]
mov edx, ebp
cmp esi, 3
jae 0x41f390
jmp 0x41f3e2
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0xd3d0d1d6
mov dword [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x41f540
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xb3ba1ca3
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x8a
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x41f510
mov ecx, dword [0x44ba98]
test ecx, ecx
je 0x41f580
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [0x44ba9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41f570
inc edi
cmp ecx, edi
jne 0x41f560
jmp 0x41f580
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x41f592
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 + 0x447630]
push eax
push 1
push dword [0x44baa0]
push ecx
call fcn.0043dc50
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 + 0x447630]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41f5e0
push eax
push 1
push dword [0x44baa0]
push ecx
call fcn.0043dc50
add esp, 0x10
nop
nop
mov eax, dword [case.0x41dfb9.12]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
nop
nop
nop
jmp eax
jmp dword [0x4476c8]
jmp dword [0x4476d4]
push ebx
call fcn.00409cd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00409cd0
add esp, 4
jmp dword [0x4476d8]
inc esi
mov eax, dword [case.0x41dfb9.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp esi, dword [esp + 0x60]
setb al
jmp dword [eax*4 + 0x447608]
mov word [ebp], 0
mov eax, dword [esp + 0x10]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x447610]
movzx edx, word [esp + 0x11e8]
test dx, dx
je 0x41f6a6
xor ecx, ecx
lea eax, [esp + 0x11e8]
jmp 0x41f680
add ebx, ecx
movzx edx, word [eax + 2]
add eax, 2
mov ecx, ebx
test dx, dx
je 0x41f6ac
cmp eax, ebp
jae 0x41f6aa
movzx esi, dx
cmp esi, 0x800
mov edx, 3
sbb edx, 0
mov ebx, 1
cmp esi, 0x80
jb 0x41f670
mov ebx, edx
jmp 0x41f670
xor ebx, ebx
jmp 0x41f6ac
mov ebx, ecx
lea eax, [ebx + 1]
mov dword [esp + 8], eax
push eax
call fcn.00409cc0
add esp, 4
mov edi, eax
lea eax, [esp + 0x11e8]
cmp eax, ebp
setb al
mov dword [esp + 4], edi
test ebx, ebx
jle 0x41f7c7
mov edi, dword [esp + 4]
test al, al
je 0x41f7c7
mov edi, dword [esp + 4]
lea eax, [edi + ebx]
mov dword [esp + 0xc], eax
add dword [esp + 8], edi
lea edx, [esp + 0x11ea]
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x41f7c7
mov esi, ebp
cmp cx, 0x7f
ja 0x41f730
mov byte [edi], cl
mov ebp, 1
jmp 0x41f7b0
mov eax, edi
not eax
add eax, dword [esp + 8]
movzx ebp, cx
cmp eax, 2
jb 0x41f770
cmp ebp, 0x7ff
ja 0x41f770
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov ebp, 2
jmp 0x41f7b0
mov dword [esp + 0x10], ebp
xor ebp, ebp
cmp eax, 3
jb 0x41f7b0
mov ebp, dword [esp + 0x10]
mov eax, ebp
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
mov eax, ecx
xor eax, 0xc0
or ecx, 0x3f
and ecx, eax
add cl, 0x80
mov byte [edi + 2], cl
mov ebp, 3
nop
nop
nop
nop
nop
add edi, ebp
cmp edi, dword [esp + 0xc]
jae 0x41f7c7
lea eax, [edx + 2]
mov ebp, esi
cmp edx, esi
mov edx, eax
jb 0x41f700
mov byte [edi], 0
mov dword [esp + 0x78], 0x878285d5
mov dword [esp + 0x7c], 0x83fffef9
mov dword [esp + 0x80], 0x84888ef5
mov dword [esp + 0x84], 0x9b9beacb
mov dword [esp + 0x88], 0x94919690
mov dword [esp + 0x8c], 0x9c90f1d3
mov dword [esp + 0x90], 0xe69ee4e6
mov dword [esp + 0x94], 0xafaadb97
mov dword [esp + 0x98], 0x35a8
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0x23
ja 0x41f888
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0xb4c60442
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0xaa
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0x24
jb 0x41f840
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push ebx
push dword [esp + 8]
push eax
call fcn.0040a630
mov dword [esp + 0x10], eax
mov eax, dword [case.0x41f5bd.51]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x447700]
push dword [esp + 4]
call fcn.00409cd0
add esp, 4
mov eax, dword [esp + 0x10]
and al, 1
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret
int3
fild word [ecx]
out dx, al
fild word [ecx]
out dx, al
fild word [ecx]
cmc
fild word [ecx]
add al, ah
inc ecx
add byte [eax], al
loopne 0x447640
add byte [edx], dh
test byte [ecx], 0
loopne 0x447648
add byte [edx - 0xa], al
inc ecx
add byte [eax], dl
loopne 0x447650
add ah, al
clc
inc ecx
add byte [eax - 0xa], bl
inc ecx
add dl, dh
cmc
inc ecx
add byte [eax - 0x20], dl
inc ecx
add byte [ebp - 0x20], dh
inc ecx
add byte [eax - 0x6fffbe20], al
in eax, dx
inc ecx
add byte [esi - 0x12], ah
inc ecx
add byte [eax - 0x12], dl
out dx, al
out dx, al
inc ecx
add byte [ecx + 0x10041ef], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ch, dl
clc
add dword [eax], eax
add byte [eax], al
aad 0xf8
inc ecx
add byte [eax - 0x3effbe11], al
sub bh, 0x41
add cl, al
out dx, eax
inc ecx
add bh, al
out dx, eax
inc ecx
add al, dl
out dx, eax
inc ecx
add dh, bl
out dx, eax
inc ecx
add al, dl
out dx, eax
inc ecx
add al, dh
out dx, eax
inc ecx
add al, dh
out dx, eax
inc ecx
add al, dh
out dx, eax
inc ecx
add dl, dh
out dx, eax
inc ecx
add al, ah
hlt
invalid