Function at 0x433499
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x68
mov dword [esp + 0x20], 0x83f58da9
mov dword [esp + 0x24], 0x87118109
mov dword [esp + 0x28], 0xbbdf8510
mov dword [esp + 0x2c], 0xbffab925
mov dword [esp + 0x30], 0xb32bbd2a
mov dword [esp + 0x34], 0xb7d3b13a
mov dword [esp + 0x38], 0xabaab591
lea edx, [esp + 0x3c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x23
ja 0x433083
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx esi, byte [esp + eax + 0x20]
lea eax, [ecx + esi]
add eax, 0x8230e416
add ecx, 0x8230e416
mov edi, esi
not edi
or edi, ecx
add edi, esi
and ecx, esi
add ecx, edi
inc ecx
mov esi, ecx
xor esi, eax
not ecx
and ecx, eax
add ecx, ecx
sub ecx, esi
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
add al, 0x66
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x24
jb 0x433030
lea eax, [esp + 0x48]
lea ebx, [esp + 0x20]
mov esi, ebx
mov ecx, 7
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x64]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 0x10]
push ecx
push 8
push ebx
push 0xd
push eax
push 0
call dword [0x44745c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444bc8]
mov word [esp + 0x20], 0x43
mov word [esp + 0x22], 0x3a
mov edi, dword [ebp + 8]
mov dword [esp + 0x24], 0x5c
mov dword [esp + 0xc], 0
push 0xd77f2487
push dword [0x447454]
call fcn.0043a440
add esp, 8
lea ecx, [esp + 0xc]
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push ebx
call eax
mov ecx, dword [case.0x4330bf.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444be0]
xor esi, esi
xor ecx, ecx
cmp esi, 4
setb cl
jmp dword [ecx*4 + 0x444be8]
xor eax, eax
test esi, esi
sete al
lea ecx, [esp + 0xc]
jmp dword [eax*4 + 0x444bf0]
mov eax, esi
xor eax, 0x3ffffffe
mov ecx, esi
and ecx, 0x1ffffffe
lea eax, [eax + ecx*2]
lea ecx, [esp + eax*4]
add ecx, 0x14
mov edx, dword [case.0x4330bf.11]
jmp edx
imul eax, dword [ecx], 0x1a5845
lea ecx, [edi + 8]
add eax, 0xebde8a13
mov dword [esp + esi*4 + 0x10], eax
mov byte [edi + 8], 0
je 0x433200
mov dword [esp + 8], esi
cmp eax, 0x100
mov dword [esp + 4], ecx
mov edi, ecx
jb 0x433210
mov ebx, eax
nop
nop
nop
mov edx, eax
and edx, 0xfd
mov ecx, eax
and ecx, 2
mov esi, ecx
xor esi, 2
imul esi, edx
or edx, 2
imul edx, ecx
movzx ecx, word [edx + esi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [edi - 2], cx
add edi, 0xfffffffe
shr ebx, 8
cmp eax, 0xffff
mov eax, ebx
ja 0x4331b0
cmp ebx, 0xf
ja 0x433217
movzx eax, byte [ebx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x433226
mov byte [edi + 7], 0x30
add edi, 7
jmp 0x43322e
mov ebx, eax
cmp ebx, 0xf
jbe 0x4331eb
movzx eax, word [ebx + ebx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, 0xfffffff7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + edx + 9], 0
lea edx, [edx + 1]
jne case.default.0x433253
xor ebx, ebx
xor eax, eax
cmp edx, ebx
setne al
jmp dword [eax*4 + 0x444c08]
mov byte [edi + ebx - 1], 0x30
dec ebx
xor eax, eax
cmp edx, ebx
setne al
jmp dword [eax*4 + 0x444c08]
inc esi
xor edx, edx
cmp esi, 4
setb dl
mov edi, ecx
jmp dword [edx*4 + 0x444be8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
jmp 0x43356a
push 0x400
call fcn.00436cd0
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 8], 0xa8a9aeaf
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov word [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x433354
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea esi, [eax + 0x58f5373a]
add eax, 0x3a
and eax, edx
or esi, edx
sub esi, eax
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x24]
add al, 0x6a
mov edx, dword [esp]
mov byte [esp + edx + 8], al
mov eax, dword [esp]
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov dword [esp], eax
mov eax, dword [esp]
cmp eax, 0xe
jb 0x433310
mov eax, dword [esp + 8]
mov edx, dword [0x447460]
test edx, edx
je case.default.0x4333b5
xor esi, esi
mov edi, dword [0x447464]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x3bebd150
je 0x433380
inc esi
cmp edx, esi
jne 0x433370
jmp case.default.0x4333b5
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je case.default.0x4333b5
lea eax, [esp + 0x24]
push 0x2f
push 0x400
push dword [esp + 0x20]
push eax
push ecx
push 5
push dword [0x447468]
push edx
call fcn.00438760
add esp, 0x20
not eax
shr eax, 0x1f
xor ebx, ebx
mov ecx, dword [esp + 0x18]
jmp dword [eax*4 + 0x444c18]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
xor eax, eax
cmp ebx, dword [ecx]
setb al
xor edx, edx
jmp dword [eax*4 + 0x444c20]
mov dword [esp + 0x20], edx
mov eax, dword [ecx + edx*4 + 4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 8]
push 0
push eax
call fcn.00437100
xor eax, eax
mov ecx, edi
neg ecx
sbb eax, esi
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
lea ecx, [esp + 8]
push eax
call fcn.00437120
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444c28]
jmp dword [0x444c30]
lea ecx, [esp + 8]
push esi
push edi
push 0
call fcn.00437350
nop
nop
nop
nop
nop
nop
nop
lea ecx, [esp + 8]
push esi
push edi
push 0
call fcn.00437350
test eax, eax
setns bl
jmp dword [0x444c38]
lea ecx, [esp + 8]
call fcn.00437260
mov edx, dword [esp + 0x20]
lea eax, [edx + edx]
and eax, 2
sub edx, eax
inc edx
mov ecx, edx
xor ecx, eax
and edx, eax
lea edx, [ecx + edx*2]
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp edx, dword [ecx]
setb al
jmp dword [eax*4 + 0x444c20]
push ecx
call fcn.00436da0
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0xa8a9aeaf
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov word [esp + 0x14], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xd
ja 0x433529
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + 0x58f5373a]
add ecx, 0x3a
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp], esi
mov ecx, dword [esp]
add cl, 0x6a
mov edx, dword [esp + 4]
mov byte [esp + edx + 8], cl
mov ecx, dword [esp + 4]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
cmp ecx, 0xe
jb 0x4334e0
mov ecx, dword [0x447460]
test ecx, ecx
je 0x43356a
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x447464]
nop
cmp dword [edi + esi*8], 0x11081610
je 0x433550
inc esi
cmp ecx, esi
jne 0x433540
jmp 0x43356a
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x43356a
push eax
push 1
push dword [0x447468]
push ecx
call fcn.00438760
add esp, 0x10
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040f9f0
mov dword [esp + 0x12c], 0
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x12c]
mov eax, dword [eax + ecx*4]
jmp eax
fisubr dword es:[edx - 0x28]
test byte [eax + esi + 0x38], dh
xchg esi, eax
pop ebx
sub cl, byte [edi]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x3a
sete cl
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov eax, dword [eax + ecx*4]
jmp eax
stc
jmp 0x5c29f618
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x11c], 1
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x2cc], ecx
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x408]
mov ecx, dword [esp + 0x404]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
add eax, 4
mov ecx, dword [esp + 0x204]
mov edx, dword [esp + 0x208]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040f9f0
mov eax, dword [esp + 0x4f8]
mov word [eax], 0x5c
mov eax, dword [esp + 0x4f8]
mov word [eax + 2], 0
mov dword [esp + 0xfc], 1
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffe
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4f8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x268]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x1cc], 1
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x17]
mov bl, al
and ebx, 1
mov dword [esp + 0x274], ebx
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3f0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x434], ecx
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x434]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x2c4], ecx
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x10], esi
mov dword [esp + 0x23c], 1
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x104], 1
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0041cd70
mov eax, dword [esp + 0x18]
mov ecx, eax
not ecx
and ecx, 1
and eax, 0x7ffffffe
sub eax, ecx
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and ecx, 0x3ffffffe
xor eax, 0x7ffffffe
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax*2 + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
jmp eax
mov ch, 0x71
mov al, 0x46
sbb bh, byte [ebp + 0x77e63da6]
and al, 0x33
fcomp qword [ebp - 0x7b746f20]
and al, 0x9c
add byte [eax], al
add byte [ebx + 0xa0248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0xc]
mov dword [esp], esi
call fcn.004190c0
lea eax, [esi + eax*2]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x448]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov eax, dword [esp + 0x10]
mov word [eax], 0x5c
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0xc], eax
mov dword [esp + 0x424], 1
mov eax, dword [esp + 0x428]
mov ecx, dword [esp + 0x424]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4f8]
add eax, 2
mov dword [esp], eax
mov dword [esp + 4], 0x43f6ec
call fcn.00435570
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
add ebp, dword [edx - 0x195a3726]
push cs
sub bh, byte [esi]
lodsd eax, dword [esi]
clc
retf 0x848b
mov eax, dword [esp + 0x4f8]
add eax, 2
mov dword [esp], eax
mov dword [esp + 4], 0x43f6ec
call fcn.00435570
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x354], ecx
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x354]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [esp + 0x17], dl
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x290]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x1c4], 0
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2b0]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x308]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
xor ebx, ebx
mov eax, esi
sub eax, 0x5c
sete dl
mov dword [esp + 0x294], 1
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [esp + 0x16], 1
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x3a4], 1
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x414], 0
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x414]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [esp + 0x16], 0
mov eax, dword [esp + 0x4cc]
mov ecx, dword [esp + 0x4d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x42c], 0
mov eax, dword [esp + 0x430]
add byte [ebx + 0x4302484], cl
add byte [eax], al
mov ecx, dword [esp + 0x42c]
mov eax, dword [eax + ecx*4]
jmp eax
rol dword [ebx], 0xa0
jg 0x434994
push edx
adc dl, byte [edi + eax*2]
ret
jg 0x4349ff
ret 0xa0cd
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov edx, eax
and edx, 0x36cd256a
or eax, 0x36cd256a
add edx, eax
sub edx, ecx
add edx, 0xc932da96
sar edx, 1
inc edx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 1
sete cl
mov dword [esp + 0x43c], ecx
mov eax, dword [esp + 0x440]
mov ecx, dword [esp + 0x43c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov esi, edi
add esi, 4
mov dword [esp + 0x30c], 0
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov edi, dword [esp + 0xc]
mov dword [esp + 0x324], 1
mov eax, dword [esp + 0x328]
mov ecx, dword [esp + 0x324]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0x4f8]
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0x388]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
mov ecx, dword [edx + ecx*4]
jmp ecx
in eax, 0xf0
or eax, ecx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x39c]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x33c]
mov ecx, dword [esp + 0x340]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x27c], 0
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x27c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0xc], esi
mov dword [esp + 0x3d4], 0
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x3f4], ecx
mov eax, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov word [eax], 0
mov eax, dword [esp + 0x4bc]
mov ecx, dword [esp + 0x4c0]
mov eax, dword [ecx + eax*4]
jmp eax
call 0x8b53a57b
test byte [esp + eax*8], ah
add byte [eax], al
add byte [ebx + 0xc8248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x370]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x4f8]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x4d4], ecx
mov eax, dword [esp + 0x4d8]
mov ecx, dword [esp + 0x4d4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0xc], eax
mov dword [esp + 0x1dc], 1
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x32c], 1
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x32c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x210]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov ecx, dword [esp + 0x18]
xor eax, eax
sub ecx, 2
sete cl
mov dword [esp + 0x40c], 1
mov edx, dword [esp + 0x410]
mov esi, dword [esp + 0x40c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0x468]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0xc], esi
mov dword [esp + 0x2f4], 1
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov word [esp + ebx*2], fs
add al, byte [eax]
add byte [ebx - 0x1f0077fc], cl
scasd eax, dword es:[edi]
sti
or eax, 0x9ca050cc
push edx
jecxz 0x434f1e
pop ss
retf
mov eax, dword [esp + 0x47c]
mov ecx, dword [esp + 0x480]
mov eax, dword [ecx + eax*4]
jmp eax
loopne 0x434ea8
enter 0xffffffffffffe083, 1
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [ecx + eax*4]
jmp eax
jle 0x434f7a
loope 0x434f2b
mov ch, 0x81
and esi, dword [esi]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x41c]
mov ecx, dword [esp + 0x420]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 3
sete cl
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x2bc], ecx
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov ax, word [eax + 4]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x21c], 0
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x3fc], ecx
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x3fc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov eax, esi
add eax, 4
mov dword [esp + 0x194], 1
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x194]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040f9f0
mov esi, dword [esp + 0xc]
mov dword [esp + 0x1ac], 0
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov eax, dword [esp + 0x4f8]
mov cx, word [eax]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x114], 0
mov edx, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x4f8]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x34c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x4a4], 0
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor byte [ebx], al
xchg edi, eax
ljmp 0x4c8b
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x344], ecx
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x344]
mov eax, dword [eax + ecx*4]
jmp eax
and al, 0x15
int1
xchg esi, edx
stosd dword es:[edi], eax
dec ebp
in al, 0xb7
mov ebp, 0xfc3211b9
push edi
mov eax, dword [esp + 0x4f8]
mov word [eax], 0x5c
mov eax, dword [esp + 0x4f8]
mov word [eax + 2], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
test byte [eax + edi*8], ah
add al, 0
add byte [esi - 0x39], ah
inc eax
add al, byte [eax]
add byte [ebx - 0x74dbdbbc], cl
dec esp
and al, 0x28
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
mov eax, dword [ecx + eax*4]
jmp eax
fadd qword [eax]
jge 0x43530c
cmp dh, byte [edi]
popfd
mov dl, 0x71
jb 0x435265
and ecx, dword [ebx - 0x74d3dbbc]
dec esp
and al, 0x30
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x484], 0
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x484]
mov eax, dword [eax + ecx*4]
jmp eax
pop ds
cmp al, 0x71
mov ax, word [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
add byte [ebx - 0x1f007efc], cl
call fcn.0040f9f0
mov dword [esp + 0x2fc], 1
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
mov esi, dword [esp + 0x10]
mov dword [esp + 0x3bc], 1
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x4a0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x338]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x320]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4f8]
mov word [eax + 4], 0x5c
mov eax, dword [esp + 0x4f8]
mov word [eax + 6], 0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
add dword [eax], eax
add byte [ebx - 0x1e0075f4], cl
inc eax
pop edi
cmpsd dword [esi], dword es:[edi]
cwde
invalid
js 0x4354df
loope 0x435430
outsb dx, byte [esi]
mov cl, 0xae
lodsd eax, dword [esi]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x1e4], 0
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x250]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040f9f0
mov dword [esp + 0x214], 0
mov eax, dword [esp + 0x218]
std
inc edi
test byte [esp + edx], ah
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x2182484], cl
add byte [eax], al
mov ecx, dword [esp + 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040f9f0
movzx eax, word [esi]
mov dword [esp + 0x374], 1
mov ecx, dword [esp + 0x378]
mov edx, dword [esp + 0x374]
mov ecx, dword [ecx + edx*4]
jmp ecx