Function at 0x4372f6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov esi, dword [ebp + 8]
mov dword [esp + 0x18], 0xfb4df9e1
mov dword [esp + 0x1c], 0xff69fd71
mov dword [esp + 0x20], 0xf357f16a
mov dword [esp + 0x24], 0xf7b0f56d
mov dword [esp + 0x28], 0xeb73e964
mov dword [esp + 0x2c], 0xef4bed7c
mov dword [esp + 0x30], 0xe3e0e189
lea eax, [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x37], 0
mov dword [esp + 4], 0xc1
mov eax, 0xc33ff03f
mov edx, 0x3f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
shr eax, 1
and eax, 1
movzx ecx, byte [esp + edx - 0x27]
add edx, 0xc33ff000
mov edi, edx
not edi
mov ebx, edx
and ebx, 0xfd
and edi, 2
imul edi, ebx
or edx, 2
imul edx, eax
lea eax, [edi + edx*2]
add eax, dword [esp + 4]
and eax, ecx
mov edx, eax
not edx
mov edi, dword [esp]
and edi, ecx
not edi
mov ebx, dword [esp]
add ecx, ebx
add ecx, 0xc33ff001
mov ebx, ecx
and ebx, edi
xor edi, ecx
lea ecx, [edx + edx]
not ecx
add ecx, edx
lea edi, [edi + ebx*2]
and edx, 2
and eax, 0xfffffffd
imul eax, edx
mov ebx, ecx
and ebx, 2
mov edx, ecx
or edx, 2
imul edx, ebx
mov ebx, edi
not ebx
add edx, eax
mov eax, ebx
and eax, 0xfffffffd
mov dword [esp + 8], 0xfffffffe
sub dword [esp + 8], edi
and edi, 2
imul edi, eax
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
add ebx, edi
mov edi, ebx
mov eax, dword [esp + 8]
xor edi, eax
not ebx
and ebx, eax
mov eax, edx
not eax
add eax, ecx
sub edx, ecx
and edx, 0x3d56bcc3
and eax, 0xc2a9433c
or eax, edx
add ebx, ebx
not ebx
add ebx, edi
mov edx, dword [esp]
xor eax, 0xc2a9433c
or ebx, eax
not ebx
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x50]
add al, 0x47
mov byte [esp + edx - 0x27], al
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
dec ecx
inc eax
inc edx
mov dword [esp + 4], ecx
cmp ecx, 0x9e
jne case.default.0x436ede
lea eax, [esp + 0x50]
lea ebx, [esp + 0x18]
mov edx, ebx
mov ecx, 7
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x6c]
xor ecx, ecx
mov edx, dword [esp + 0x14]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 0x40]
push ecx
push 8
push ebx
push 0xd
push eax
push 0
call dword [0x44c2c4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449abc]
mov dword [esp + 0x18], 0x3a0043
mov dword [esp + 0x1c], 0x5c
mov dword [esp + 0x10], 0
push 0xaa14ca30
push dword [0x44c2bc]
call fcn.0043e9a0
add esp, 8
lea ecx, [esp + 0x10]
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449ac4]
xor eax, eax
mov edx, dword [case.0x436ede.7]
nop
nop
nop
nop
nop
nop
jmp edx
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x449adc]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x449ae4]
lea ecx, [esp + eax*4]
add ecx, 0x3c
jmp 0x436f6b
lea ecx, [esp + 0x10]
imul ebx, dword [ecx], 0x1a5845
lea ecx, [esi + 8]
add ebx, 0xebde8a13
mov dword [esp + eax*4 + 0x40], ebx
mov byte [esi + 8], 0
mov dword [esp], ecx
je 0x436fd1
mov esi, ecx
cmp ebx, 0x100
jb 0x436fda
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, bl
movzx edi, word [edi + edi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [esi - 2], di
add esi, 0xfffffffe
shr edx, 8
cmp ebx, 0xffff
mov ebx, edx
ja 0x436fa0
cmp edx, 0xf
ja 0x436fe1
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [esi - 1], dl
dec esi
jmp 0x437009
mov byte [esi + 7], 0x30
add esi, 7
jmp 0x437009
mov edx, ebx
cmp edx, 0xf
jbe 0x436fc4
mov edi, edx
and edi, 0xfffffd
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
xor ebx, 2
imul ebx, edi
movzx edx, word [ebx + edx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [esi - 2], dx
add esi, 0xfffffffe
lea ebx, [esi - 1]
mov edx, esi
nop
nop
inc ebx
cmp byte [edx], 0
lea edx, [edx + 1]
jne case.default.0x437033
mov edi, ebx
xor edi, esi
mov edx, esi
not edx
and edx, ebx
add edx, edx
sub edx, edi
add edx, 0xfffffff8
xor ebx, ebx
xor ecx, ecx
cmp edx, ebx
setne cl
jmp dword [ecx*4 + 0x449aec]
mov byte [esi + ebx - 1], 0x30
dec ebx
xor ecx, ecx
cmp edx, ebx
setne cl
jmp dword [ecx*4 + 0x449aec]
inc eax
mov edx, dword [case.0x436ede.7]
mov esi, dword [esp]
jmp case.0x436ede.5
mov eax, dword [case.0x436ede.18]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
jmp 0x4373fd
push 0x400
call fcn.0043a8c0
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], 0x40414e4f
mov dword [esp + 0x14], 0
mov dword [esp + 0x17], 0
mov edx, 0x6ed664a
mov eax, 0xf91299b5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x24], edx
movzx esi, byte [esp + eax + 0x6ed665b]
mov dword [esp + 0xc], esi
mov ebx, esi
not ebx
mov ecx, ebx
and ecx, 0x2f6359e5
and esi, 0x1a
or esi, ecx
lea edi, [edx - 1]
mov dword [esp + 4], edi
and edi, 0x2f6359e5
lea edx, [eax + 1]
mov ecx, edx
and ecx, 0x509ca61a
or ecx, edi
xor ecx, esi
not ecx
mov edi, edx
and ecx, edx
mov edx, dword [esp + 0x24]
lea edx, [edx + ecx*2]
and edx, ebx
add ecx, ecx
mov esi, eax
sub esi, ecx
and esi, dword [esp + 0xc]
sub esi, edx
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x34]
add cl, 6
mov byte [esp + eax + 0x6ed665b], cl
mov eax, edi
mov ecx, dword [esp + 4]
mov edx, ecx
cmp ecx, 0x6ed663f
jne 0x437100
mov eax, dword [esp + 0x10]
mov ecx, dword [0x44c2c8]
test ecx, ecx
je 0x43719e
xor edx, edx
mov esi, dword [0x44c2cc]
cmp dword [esi + edx*8], 0xd75bc899
je 0x4371a4
inc edx
cmp ecx, edx
jne 0x437190
mov edi, dword [esp + 8]
jmp case.default.0x4371d9
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
mov edi, dword [esp + 8]
je case.default.0x4371d9
lea eax, [esp + 0x34]
push 0x2f
push 0x400
push edi
push eax
push dword [esp + 0x30]
push 5
push dword [0x44c2d0]
push ecx
call fcn.0043c490
add esp, 0x20
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x449b0c]
mov eax, dword [case.0x4371d9.4]
lea ecx, [esp + 0x10]
mov dword [esp + 4], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [edi]
mov edx, dword [case.0x4371d9.8]
nop
nop
nop
nop
nop
nop
jmp edx
xor edx, edx
mov eax, dword [esp + 4]
cmp eax, esi
setb dl
jmp dword [edx*4 + 0x449b34]
mov eax, dword [edi + eax*4 + 4]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
push 0
push eax
call fcn.0043ac90
mov eax, dword [case.0x4371d9.18]
nop
nop
nop
jmp eax
jmp dword [0x449b68]
mov edi, dword [ebp + 0xc]
mov eax, edi
neg eax
mov eax, 0
mov esi, dword [ebp + 0x10]
sbb eax, esi
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
lea esi, [esp + 0x10]
mov ecx, esi
push eax
call fcn.0043acb0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b6c]
jmp dword [0x449b74]
mov ecx, esi
push dword [ebp + 0x10]
push edi
push 0
call fcn.0043aeb0
nop
nop
mov ecx, esi
push dword [ebp + 0x10]
push edi
push 0
call fcn.0043aeb0
test eax, eax
setns bl
jmp dword [0x449b7c]
mov ecx, esi
call fcn.0043add0
inc dword [esp + 4]
mov eax, dword [case.0x4371d9.4]
mov edi, dword [esp + 8]
lea ecx, [esp + 0x10]
jmp case.0x4371d9.2
jmp dword [0x449b44]
push edi
call fcn.0043a980
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], 0x40414e4f
mov dword [esp + 0x14], 0
mov dword [esp + 0x17], 0
mov edx, 0x6ed664a
mov ecx, 0xf91299b5
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], ecx
movzx edi, byte [esp + ecx + 0x6ed665b]
mov dword [esp + 4], edi
not edi
mov eax, edi
and eax, 0x2f6359e5
mov esi, dword [esp + 4]
and esi, 0x1a
or esi, eax
dec edx
mov dword [esp + 0x24], edx
and edx, 0x2f6359e5
mov eax, dword [esp + 0xc]
lea ecx, [eax + 1]
mov eax, ecx
mov dword [esp + 8], ecx
and eax, 0x509ca61a
or eax, edx
xor eax, esi
not eax
and eax, ecx
mov ecx, dword [esp + 0x20]
lea edx, [ecx + eax*2]
and edx, edi
add eax, eax
mov ecx, dword [esp + 0xc]
mov esi, ecx
sub esi, eax
and esi, dword [esp + 4]
sub esi, edx
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
add al, 6
mov byte [esp + ecx + 0x6ed665b], al
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x24]
mov edx, eax
cmp eax, 0x6ed663f
jne 0x437330
mov eax, dword [0x44c2c8]
test eax, eax
je 0x4373fd
mov ecx, dword [esp + 0x10]
xor edx, edx
mov esi, dword [0x44c2cc]
nop
cmp dword [esi + edx*8], 0xa3c1f363
je 0x4373e0
inc edx
cmp eax, edx
jne 0x4373d0
jmp 0x4373fd
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x4373fd
push dword [esp + 0x2c]
push 1
push dword [0x44c2d0]
push eax
call fcn.0043c490
add esp, 0x10
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [ebp - 0x19], 1
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, 0x1e95aea9
pushfd
mov al, byte [0xe8458b39]
add eax, 0xfffffffe
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [ebp - 0x394]
mov esi, dword [ebp - 0x398]
mov edx, dword [esi + edx*4]
jmp edx
call fcn.00409490
mov dword [ebp - 0x48c], 0
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x48c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x418]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x340]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call fcn.00439120
add esp, 8
mov dword [ebx], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x478]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + eax*4]
jmp eax
and byte [edx], 0xe9
inc ebx
pop ecx
fcomp qword [ebx - 0x77]
fadd dword [ebx - 0x3ffefe20]
mov ecx, ebx
and ecx, 0x3ffffffe
sub eax, ebx
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax*2 - 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
xor ecx, ecx
sub eax, 2
sete cl
mov dword [ebp - 0x3d4], ecx
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x258]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
int 0x2e
push eax
popal
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebx]
mov edx, dword [ebp - 0x10]
mov ecx, eax
xor ecx, edx
not edx
and eax, edx
mov esi, eax
and esi, 0xfffffffd
mov edx, eax
not edx
and edx, 2
imul edx, esi
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
add eax, edx
sub eax, ecx
sar eax, 1
inc eax
mov dword [edi], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x10]
not ecx
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [eax + edx*2 + 1]
sar eax, 1
add eax, 0xebad2f3c
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov ecx, eax
xor ecx, 0xebad2f3c
and eax, 0x1452d0c3
add eax, eax
sub eax, ecx
mov dword [edi], eax
mov ecx, dword [edi]
xor eax, eax
sub ecx, 1
sete cl
mov dword [ebp - 0x424], 1
mov edx, dword [ebp - 0x428]
mov esi, dword [ebp - 0x424]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.00409490
mov eax, dword [ebp - 0x10]
mov cx, word [eax]
xor eax, eax
test cx, cx
setne cl
mov dword [ebp - 0x45c], 1
mov edx, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [edx + esi*4]
jmp edx
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ecx + eax*4]
jmp eax
sub byte [esp + ecx], dh
les esi, [edi - 0x44]
mov edi, 0x94458bef
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov eax, dword [ebp - 0x10]
add eax, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x344], 0
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x344]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x42c], 1
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x42c]
mov eax, dword [eax + ecx*4]
jmp eax
aad 0x10
invalid
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x3a
sete cl
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov eax, dword [eax + ecx*4]
jmp eax
int1
or dword [ebp - 0x5b967b72], esi
xchg ecx, eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [ebp - 0x374], 1
mov edx, dword [ebp - 0x378]
mov esi, dword [ebp - 0x374]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.00409490
mov eax, dword [ebp - 0x14]
mov cx, word [eax + 2]
xor eax, eax
test cx, cx
sete cl
mov dword [ebp - 0x28c], 1
mov edx, dword [ebp - 0x290]
mov esi, dword [ebp - 0x28c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [ebp - 0x14]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3b4]
mov edx, dword [ebp - 0x3b8]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x3c4], ecx
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x400]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00409490
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffe
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x274], 1
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov ax, word [esi]
mov dword [ebp - 0x404], 0
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0x404]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [ebp - 0x2e4], ecx
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x364], ecx
mov eax, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x364]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
cli
rcl ebp, 0xe3
lodsb al, byte [esi]
cmc
inc ebx
mov byte [0xff74858b], al
invalid
mov eax, dword [ebp - 0x18]
mov word [eax], 0x5c
mov eax, dword [ebp - 0x18]
add eax, 2
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x3e0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
cdq
xchg ebx, eax
invalid
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x358]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov ax, word [esi]
mov dword [ebp - 0x2cc], 1
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.00409490
mov eax, dword [ebp - 0x10]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call fcn.00439120
add esp, 8
mov dword [ebx], eax
mov ecx, dword [ebx]
xor eax, eax
test ecx, ecx
sete cl
mov dword [ebp - 0x444], 1
mov edx, dword [ebp - 0x448]
mov esi, dword [ebp - 0x444]
mov edx, dword [edx + esi*4]
jmp edx
neg byte [edx + 0x458b99d9]
invalid
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
xor edx, edx
sub eax, ecx
seta dl
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3c0]
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x1a]
mov bl, al
and ebx, 1
mov dword [ebp - 0x494], ebx
mov eax, dword [ebp - 0x498]
mov ecx, dword [ebp - 0x494]
mov eax, dword [eax + ecx*4]
mov ebx, dword [ebp - 0x20]
jmp eax
ret
mov esi, dword [edi]
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edx]
add eax, 0xfffffffe
mov dword [edx], eax
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x250]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00409490
mov dword [ebp - 0x34c], 1
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x34c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x308]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ecx, dword [edi]
mov eax, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x330]
mov eax, dword [edx + eax*4]
jmp eax
call fcn.00409490
mov eax, ebx
and eax, 0x4e79c34
mov ecx, ebx
xor ecx, 0x4e79c34
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax*2 - 0x9cf386a]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x104], 1
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x240]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00409490
mov dword [ebp - 0x37c], 0
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x44c], 1
mov eax, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x44c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov eax, dword [ebp - 0x14]
mov word [eax], 0x5c
mov eax, dword [ebp - 0x14]
mov word [eax + 2], 0
mov dword [ebp - 0xfc], 1
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 4]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
add eax, 2
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x4446ec
call fcn.00439160
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x43c]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x4c8]
mov eax, dword [ecx + eax*4]
jmp eax
xor al, 0xb5
mov ds, word ss:[ebx - 0x742ed18b]
inc ebp
int3
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffe
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x360]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x248]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x14]
add eax, 2
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x4446ec
call fcn.00439160
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x384], ecx
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x384]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov word [eax], 0x5c
mov eax, dword [ebp - 0x14]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
mov eax, dword [eax + ecx*4]
mov edx, esi
jmp eax
push eax
push eax
push eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
mov dword [ebp - 0x30c], 1
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x30c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041dc20
add esp, 0xc
mov ebx, dword [edi]
mov dword [ebp - 0x184], 1
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x270]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebp - 0x1b]
mov bl, al
and ebx, 1
mov dword [ebp - 0x1f4], ebx
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [eax + ecx*4]
mov ebx, dword [ebp - 0x20]
jmp eax
and bh, byte [eax + 0x458be5e5]
test byte [ebx + 0x48b804d], cl
cmp edi, 0x6f9e8e0
call fcn.00409490
mov dword [ebp - 0x27c], 0
call fcn.00409490
mov dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x27c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
jmp eax
call fcn.00409490
mov dword [ebp - 0x294], 1
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x49c], 0
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x49c]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x454]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
mov ecx, dword [ebp - 0x14]
xor eax, eax
test ecx, ecx
sete cl
mov dword [ebp - 0x484], 1
mov edx, dword [ebp - 0x488]
mov esi, dword [ebp - 0x484]
mov edx, dword [edx + esi*4]
jmp edx
adc byte [eax + esi + 0x5c], 0x8b
test dword [edi + edi*8 - 1], ebp
dec dword [ebx - 0x9773]
dec dword [ebx - 0x1f007efc]
call fcn.00409490
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x1d4], 1
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov word [eax + 4], 0x5c
mov eax, dword [ebp - 0x14]
mov word [eax + 6], 0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x47c], eax
mov eax, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x47c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
xor eax, eax
test esi, esi
sete cl
mov dword [ebp - 0x39c], 0
mov edx, dword [ebp - 0x3a0]
mov ebx, dword [ebp - 0x39c]
mov edx, dword [edx + ebx*4]
jmp edx
mov al, cl
and eax, 1
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x36c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov word [eax], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x470]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409490
push eax
mov dword [ebp - 0x20], esp
push eax
mov edi, esp
push eax
mov edx, esp
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4cc], 1
mov eax, dword [ebp - 0x4d0]
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [ebp - 0x3cc], ecx
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [ebp - 0x3cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x1bc], 1
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409490
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], esi
call fcn.00419590
add esp, 4
lea eax, [esi + eax*2]
mov dword [ebx], eax
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x438]
mov eax, dword [ecx + eax*4]
jmp eax