Function at 0x436b50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov eax, dword [0x44ab94]
mov dword [esp + 0x18], 0x1bf03ef
mov dword [esp + 0x1c], 0xd930f87
mov dword [esp + 0x20], 0x9a10b90
mov dword [esp + 0x24], 0xf53af79b
mov dword [esp + 0x28], 0xf165f36a
mov dword [esp + 0x2c], 0xfd55ff6a
mov dword [esp + 0x30], 0xf9fafb17
mov byte [esp + 0x34], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x60]
cmp ecx, 0x1c
ja 0x436bfb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x60]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0xb86ce473
xor ecx, edx
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xa4]
add cl, 0x89
mov edx, dword [esp + 0x60]
mov byte [esp + edx + 0x18], cl
inc dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
cmp ecx, 0x1d
jb 0x436bc0
lea ecx, [esp + 0x60]
lea edi, [esp + 0xa4]
lea ebx, [esp + 0x18]
push ecx
push 8
push edi
push 0xd
push ebx
push 0
call eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44845c]
mov dword [esp + 0xa4], 0x3a0043
mov dword [esp + 0xa8], 0x5c
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x88], 0
lea eax, [esp + 0x88]
push eax
push 0x442a88
push 1
push 0
push 0x442a98
call dword [sym.imp.ole32.dll_CoCreateInstance]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448464]
jmp dword [0x44846c]
mov dword [esp + 0x18], 0x4b257520
mov dword [esp + 0x1c], 0x4f1c491b
mov dword [esp + 0x20], 0x43094de2
mov dword [esp + 0x24], 0x4713411d
mov dword [esp + 0x28], 0x5b3245ec
mov word [esp + 0x2c], 0x595a
mov dword [esp + 0x2e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x19
ja 0x436d13
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0x594481dd
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0x55
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1a
jb 0x436ce0
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
jmp case.0x436c18.4
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
jmp dword [0x448478]
mov dword [esp + 0x18], 0x4b257520
mov dword [esp + 0x1c], 0x4f1c491b
mov dword [esp + 0x20], 0x43094de2
mov dword [esp + 0x24], 0x4713411d
mov dword [esp + 0x28], 0x5b3245ec
mov word [esp + 0x2c], 0x595a
mov dword [esp + 0x2e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x19
ja 0x436d20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0x594481dd
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0x55
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1a
jb 0x436d80
jmp 0x436d20
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx]
lea esi, [esp + 0x5c]
push esi
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0xbc], eax
push eax
push ecx
call dword [edx + 0xc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44848c]
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x78]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448494]
jmp dword [0x4484a0]
mov dword [esp + 0x18], 0x6333613f
mov dword [esp + 0x1c], 0x6f6e6d38
mov byte [esp + 0x20], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 8
ja 0x436e80
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + ecx]
add eax, 0xe4
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x211fe6e4
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x70]
add al, 0x7c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 9
jb 0x436e40
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x18], 0xafebaddf
mov dword [esp + 0x1c], 0xa3e7a1dc
mov dword [esp + 0x20], 0xa7d2a5e7
mov dword [esp + 0x24], 0xdb80d9f8
mov dword [esp + 0x28], 0xdf98ddfc
mov dword [esp + 0x2c], 0xd3add1a2
mov dword [esp + 0x30], 0xd7f6d5a9
mov dword [esp + 0x34], 0xcb53c9bf
mov dword [esp + 0x38], 0xcf9dcd52
mov dword [esp + 0x3c], 0xc3adc192
mov dword [esp + 0x40], 0xc7bfc586
mov dword [esp + 0x44], 0xfb89f987
mov word [esp + 0x48], 0xfdfc
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x36
ja 0x436f43
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0xc64c0834
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0x68
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x37
jb 0x436f10
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
lea edi, [esp + 0x84]
push edi
push 0
push 0x30
push eax
push esi
push ecx
call dword [edx + 0x50]
jmp case.0x436c18.17
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
lea edx, [esp + 0x84]
push edx
push 0
push 0x30
push edi
push esi
push eax
call dword [ecx + 0x50]
jmp dword [0x4484a8]
mov dword [esp + 0x18], 0x6333613f
mov dword [esp + 0x1c], 0x6f6e6d38
mov byte [esp + 0x20], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 8
ja 0x437000
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + ecx]
add eax, 0xe4
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x211fe6e4
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x70]
add al, 0x7c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 9
jb 0x436fc0
lea edi, [esp + 0x4a]
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x18], 0xafebaddf
mov dword [esp + 0x1c], 0xa3e7a1dc
mov dword [esp + 0x20], 0xa7d2a5e7
mov dword [esp + 0x24], 0xdb80d9f8
mov dword [esp + 0x28], 0xdf98ddfc
mov dword [esp + 0x2c], 0xd3add1a2
mov dword [esp + 0x30], 0xd7f6d5a9
mov dword [esp + 0x34], 0xcb53c9bf
mov dword [esp + 0x38], 0xcf9dcd52
mov dword [esp + 0x3c], 0xc3adc192
mov dword [esp + 0x40], 0xc7bfc586
mov dword [esp + 0x44], 0xfb89f987
mov word [esp + 0x48], 0xfdfc
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x36
ja 0x436f70
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0xc64c0834
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0x68
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x37
jb 0x4370a0
jmp 0x436f70
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4484ac]
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
lea edx, [esp + 0x90]
push edx
lea edx, [esp + 0x98]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
setns cl
cmp eax, 1
setne al
cmp dword [esp + 0x90], 0
setne dl
and dl, al
and dl, cl
movzx eax, dl
jmp dword [eax*4 + 0x4484b4]
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], 0x5df55fed
mov dword [esp + 0x1c], 0x59cd5bc2
mov dword [esp + 0x20], 0x45d247f7
mov dword [esp + 0x24], 0x41d943f6
mov dword [esp + 0x28], 0x4de04fd3
mov dword [esp + 0x2c], 0x49d44be7
mov word [esp + 0x30], 0x3748
mov dword [esp + 0x32], 0
mov word [esp + 0x36], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 0x1f
ja 0x4371d5
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0xbe447aa7
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 9
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x18], cl
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, 0x20
jb 0x4371a0
mov ecx, dword [eax]
push 0
push 0
lea edx, [esp + 0x78]
push edx
push 0
push ebx
push eax
call dword [ecx + 0x10]
test eax, eax
setns al
cmp word [esp + 0x70], 8
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4484bc]
push dword [esp + 0x78]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], eax
lea eax, [ecx + eax*2]
mov dword [esp + 0x58], eax
mov eax, ecx
movzx ecx, word [ecx]
test cx, cx
mov dword [esp + 0x50], eax
je 0x43726a
mov dword [esp + 0x10], 0
jmp 0x437242
add dword [esp + 0x10], ebx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x437272
cmp eax, dword [esp + 0x58]
jae 0x437272
movzx edx, cx
cmp edx, 0x800
mov ecx, 3
sbb ecx, 0
mov ebx, 1
cmp edx, 0x80
jb 0x437232
mov ebx, ecx
jmp 0x437232
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 0x10]
lea eax, [ebx + 1]
mov dword [esp + 0x8c], eax
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 8], eax
test ebx, ebx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x50]
jle 0x4373a9
mov dword [esp + 8], eax
cmp dword [esp + 0xc], 0
jle 0x4373a9
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x54]
add dword [esp + 0x8c], ecx
add edx, 2
mov dword [esp + 8], ecx
movzx ecx, word [edx - 2]
test cx, cx
je 0x4373a9
mov eax, edx
cmp cx, 0x7f
ja 0x4372f7
mov edx, dword [esp + 8]
mov byte [edx], cl
mov dword [esp + 0xc], 1
jmp 0x437389
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
not eax
add eax, dword [esp + 0x8c]
movzx edx, cx
cmp eax, 2
jb 0x43733c
cmp edx, 0x7ff
ja 0x43733c
mov eax, ecx
shr eax, 6
add al, 0xc0
mov edx, dword [esp + 8]
mov byte [edx], al
and cl, 0x3f
or cl, 0x80
mov byte [edx + 1], cl
mov dword [esp + 0xc], 2
mov eax, dword [esp + 0x50]
jmp 0x437389
mov dword [esp + 0x98], edx
mov dword [esp + 0xc], 0
cmp eax, 3
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 8]
jb 0x437389
mov ebx, dword [esp + 0x98]
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edx], al
mov eax, dword [esp + 0x50]
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [edx + 2], cl
mov dword [esp + 0xc], 3
add edx, dword [esp + 0xc]
mov dword [esp + 8], edx
cmp edx, dword [esp + 0x9c]
jae 0x4373a9
mov ecx, eax
lea edx, [eax + 2]
cmp eax, dword [esp + 0x58]
jb 0x4372cf
mov eax, dword [esp + 8]
mov byte [eax], 0
mov eax, dword [case.0x4371fa.5]
mov dword [esp + 0x58], eax
mov eax, dword [case.0x4371fa.6]
mov dword [esp + 8], eax
add dword [esp + 0x10], 0xfffffffc
xor edx, edx
xor eax, eax
cmp edx, 4
setb al
jmp dword [eax*4 + 0x4484c4]
jmp dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov eax, dword [eax + edx*4]
mov dword [esp + edx*4 + 0x60], eax
jmp dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + edx*4]
mov dword [esp + edx*4 + 0x60], eax
mov eax, dword [ecx + edx*4]
mov dword [esp + edx*4 + 0x60], eax
jmp dword [esp + 8]
xor eax, eax
sub dword [esp + 0x10], 4
setb al
jmp dword [eax*4 + 0x4484dc]
inc edx
xor eax, eax
cmp edx, 4
setb al
jmp dword [eax*4 + 0x4484c4]
mov ebx, dword [esp + 0x54]
jmp dword [0x4484e4]
jmp dword [0x4484ec]
xor ebx, ebx
test eax, eax
setne bl
mov edx, eax
jmp dword [ebx*4 + 0x44850c]
jmp dword [0x44851c]
xor ebx, ebx
cmp dword [esp + eax*4 + 0x60], 0
sete bl
mov edx, eax
jmp dword [ebx*4 + 0x448524]
mov edx, eax
and edx, 0xfffffffe
add edx, edx
mov esi, eax
xor esi, 1
sub edx, esi
imul ebx, dword [esp + edx*4 + 0x60], 0x1a5845
lea edx, [ecx + 8]
add ebx, 0xebde8a13
mov dword [esp + eax*4 + 0x60], ebx
mov byte [ecx + 8], 0
je 0x4374f0
mov ecx, edx
cmp ebx, 0x100
jb 0x437500
mov esi, ebx
nop
nop
movzx edi, bl
movzx edi, word [edi + edi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], di
add ecx, 0xfffffffe
shr esi, 8
cmp ebx, 0xffff
mov ebx, esi
ja 0x4374b0
cmp esi, 0xf
ja 0x437507
movzx ebx, byte [esi + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], bl
dec ecx
jmp 0x43752f
mov byte [ecx + 7], 0x30
add ecx, 7
jmp 0x43752f
mov esi, ebx
cmp esi, 0xf
jbe 0x4374d4
mov edi, esi
and edi, 2
mov ebx, esi
or esi, 2
imul esi, edi
xor edi, 2
and ebx, 0xfd
imul ebx, edi
movzx esi, word [ebx + esi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], si
add ecx, 0xfffffffe
mov esi, 0xfffffff7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + esi + 9], 0
lea esi, [esi + 1]
jne case.default.0x437554
xor ebx, ebx
cmp esi, 0
setne bl
xor edi, edi
jmp dword [ebx*4 + 0x44852c]
mov byte [ecx + edi - 1], 0x30
dec edi
xor ebx, ebx
cmp esi, edi
setne bl
jmp dword [ebx*4 + 0x44852c]
inc eax
xor ebx, ebx
cmp eax, 4
setb bl
mov ecx, edx
jmp dword [ebx*4 + 0x448504]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
xor eax, eax
xor edx, edx
cmp eax, 4
setb dl
jmp dword [edx*4 + 0x448504]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea edi, [esp + 0xa4]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esp + 0xa0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x18], 0
push 0xefddb36b
push dword [0x44ab8c]
call fcn.0043e4e0
add esp, 8
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4484fc]
push ebx
call fcn.00409a60
add esp, 4
push ebx
call fcn.00409a60
add esp, 4
jmp dword [0x4484f8]
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ebx, [esp + 0x18]
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x4375aa
int3
mov eax, dword [esp + 0x10]
and al, 1
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebp, dword [esp + 0x40]
push 0x400
call fcn.0043ae30
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0xf8fbfafd
mov word [esp + 8], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x437720
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 4]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x4376f0
mov ecx, dword [esp + 4]
mov edx, dword [0x44ab98]
test edx, edx
je case.default.0x437846
xor edi, edi
mov ebx, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x77a9e0c4
je 0x437750
inc edi
cmp edx, edi
jne 0x437740
jmp case.default.0x437846
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
jne 0x437818
not ecx
shr ecx, 0x1f
mov dword [esp + 0x10], 0
mov ebx, ebp
jmp dword [ecx*4 + 0x44853c]
jmp dword [0x448568]
push esi
call fcn.0043aed0
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0xf8fbfafd
mov word [esp + 8], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x4377e0
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 + 4]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x4377b0
mov ecx, dword [0x44ab98]
test ecx, ecx
je case.0x437846.11
mov edx, dword [esp + 4]
xor edi, edi
mov ebp, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x437927
inc edi
cmp ecx, edi
jne 0x437800
jmp case.0x437846.11
lea ecx, [esp + 0x20]
push 0x2f
push 0x400
push esi
push ecx
push eax
push 5
push dword [0x44aba0]
push edx
call fcn.0043cdc0
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov ebx, ebp
jmp dword [eax*4 + 0x44853c]
mov dword [esp + 0x10], 0
mov eax, dword [case.0x437846.5]
xor ebp, ebp
mov dword [esp + 0x1c], esi
jmp case.0x437846.2
mov ebx, esi
mov ecx, edi
call fcn.0043b330
inc ebp
mov eax, dword [case.0x437846.5]
mov esi, dword [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ebp, dword [esi]
setb al
jmp dword [eax*4 + 0x448554]
mov eax, dword [esi + ebp*4 + 4]
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea edi, [esp + 4]
mov ecx, edi
push 0
push eax
call fcn.0043b1a0
mov eax, ebx
neg eax
mov eax, 0
mov esi, ebx
mov ebx, dword [esp + 0x44]
sbb eax, ebx
setl al
movzx ecx, al
mov eax, ecx
shl eax, 0x14
shl ecx, 0x15
not ecx
add ecx, eax
mov edx, ecx
and edx, 0xfff00000
xor edx, 0xfff00001
and edx, ecx
lea ecx, [eax + 2]
not eax
and eax, edx
not edx
and edx, ecx
sub edx, eax
mov ecx, edi
push edx
call fcn.0043b1c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44855c]
mov ecx, edi
push ebx
push esi
push 0
call fcn.0043b410
test eax, eax
setns al
mov dword [esp + 0x10], eax
jmp case.0x437846.8
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je case.0x437846.11
push eax
push 1
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x10
jmp case.0x437846.11
jmp dword [0x448570]
push esi
call fcn.0043aed0
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0xf8fbfafd
mov word [esp + 8], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x4379c0
nop
nop
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 + 4]
add ecx, 0xf9ff0a83
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x81
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x437990
mov ecx, dword [0x44ab98]
test ecx, ecx
je 0x437950
mov edx, dword [esp + 4]
xor edi, edi
mov ebp, dword [0x44ab9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x437a00
inc edi
cmp ecx, edi
jne 0x4379e0
jmp 0x437950
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
je 0x437950
push eax
push 1
push dword [0x44aba0]
push ecx
call fcn.0043cdc0
add esp, 0x10
jmp dword [0x448570]
movzx eax, al
and eax, 1
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp eax
aaa
lodsd eax, dword [esi]
sub eax, 0x7198ecde
salc
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x268]
mov ecx, dword [edx + ecx*4]
jmp ecx
sbb dword [0x4b1f74b0], eax
dec edi
adc al, 0x8b
inc esp
and al, 0x54
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov edi, ebp
add edi, 2
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00439750
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x364], 0
mov edx, dword [esp + 0x368]
mov ebx, dword [esp + 0x364]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
add ebx, 0xfffffffe
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c8]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x3d4], ecx
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x27c], ecx
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x27c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ebx, dword [esp + 0xc]
mov word [ebx], 0x5c
add ebx, 2
add ebp, 2
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [ecx + eax*4]
mov esi, ebp
jmp eax
call fcn.0040a130
mov cx, word [edi + 2]
xor eax, eax
sub cx, 0x3a
sete cl
mov dword [esp + 0xfc], 1
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040a130
mov esi, ebp
add esi, 4
mov dword [esp + 0x15c], 1
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov word [ebx], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
mov ebp, esi
jmp eax
call fcn.0040a130
mov dword [esp + 0x274], 0
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x2dc], 0
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x188]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
add ebp, 4
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [ecx + eax*4]
mov esi, ebp
mov edi, dword [esp + 0x43c]
jmp eax
call fcn.0040a130
xor eax, eax
mov ecx, ebx
sub ecx, edi
setae cl
mov dword [esp + 0x1b4], 0
mov edx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1b4]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040a130
mov dword [esp + 0x164], 0
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, dword [esp + 0x35c]
mov ebx, dword [esp + 0x360]
mov edx, dword [ebx + edx*4]
jmp edx
call fcn.0040a130
mov dword [esp + 0x23c], 0
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [edi]
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2b0]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040a130
mov ax, word [esi]
mov dword [esp + 0x234], 0
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x234]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a130
mov eax, dword [esp + 0x43c]
mov cx, word [eax]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [esp + 0x344], 0
mov edx, dword [esp + 0x348]
mov ebx, dword [esp + 0x344]
mov edx, dword [edx + ebx*4]
jmp edx
xor eax, eax
mov ecx, ebx
sub ecx, 3
sete al
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
pop ebp
aad 0xd2
hlt
call fcn.0040a130
mov dword [esp + 0x1dc], 1
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
xchg esi, eax
dec esp
dec edi
fmul qword [ebx + 0x842484]
add byte [eax], al
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3ac]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x43c]
jmp eax
call fcn.0040a130
mov dword [esp + 0x1f4], 0
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
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 + 0x4c]
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
add ebx, 0xfffffffe
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x310]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x204], 1
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x204]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x394], eax
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x394]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp eax
call fcn.0040a130
mov dword [esp + 0x3a4], 0
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x3a4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x40c], 0
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x40c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov ax, word [edi]
mov dword [esp + 0x26c], 1
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [ebp + 4]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x174], ecx
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xchg ebp, eax
int1
dec edx
ret 0x448b
xor eax, eax
mov ecx, ebx
sub ecx, 2
sete al
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0xc], ebx
mov dword [esp], ebp
mov dword [esp + 4], 0x5c
call fcn.00439710
mov esi, eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x3ec], eax
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x324]
mov edx, dword [esp + 0x328]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ax, word [edi]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x384], ecx
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x384]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x38], al
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x3a
mov ecx, eax
or ecx, 0x8b
xor eax, 0xffffffff
or eax, 0x74
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x20], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x8a
xor eax, 0xffffffff
or eax, 0x75
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x21], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x5c
mov ecx, eax
or ecx, 0x89
xor eax, 0xffffffff
or eax, 0x76
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x22], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x88
xor eax, 0xffffffff
or eax, 0x77
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x23], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x87
xor eax, 0xffffffff
or eax, 0x78
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x24], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x86
xor eax, 0xffffffff
or eax, 0x79
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x25], cl
mov eax, 6
mov byte [esp + eax + 0x20], 0
add eax, 1
cmp eax, 0xa
jne 0x438dbf
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 0xa
jae 0x438e09
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x20]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043adf0
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x20], al
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x438dd4
mov esi, edi
add esi, 2
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00439750
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x284], 0
mov edx, dword [esp + 0x288]
mov edi, dword [esp + 0x284]
mov edx, dword [edx + edi*4]
mov edi, dword [esp + 0x43c]
jmp edx
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x318]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x43c]
jmp eax
mov word [eax], 0x5c
mov word [edi + 6], 0
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
mov ebp, dword [esp + 0x48]
jmp eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
call fcn.0040a130
mov dword [esp + 0x414], 0
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x414]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov al, bl
xor al, 1
mov dword [esp + 0x1ec], 0
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov word [edi], 0
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x400]
mov eax, dword [ecx + eax*4]
mov ebx, edi
jmp eax
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
mov ecx, dword [ecx + eax*4]
mov eax, ebx
jmp ecx
mov eax, edi
add eax, 4
mov cx, word [edi + 4]
xor edx, edx
test cx, cx
sete dl
mov dword [esp + 0xec], edx
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x200]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [edi]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x114], ecx
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
inc cl
xor al, cl
and al, cl
movzx eax, al
and eax, 1
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x43c]
jmp eax
xor eax, eax
mov ecx, ebx
mov edi, dword [esp + 0x43c]
sub ecx, edi
seta al
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0x38c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x2c]
mov byte [esp + 0x30], al
mov dword [esp], 0x314c9c4e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x3a
xor eax, 0x4e
mov byte [esp + 0x3c], al
mov dword [esp], 0x314c9c4e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x4f
mov byte [esp + 0x3d], al
mov dword [esp], 0x314c9c4e
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x5c
xor eax, 0x50
mov byte [esp + 0x3e], al
mov dword [esp], 0x314c9c4e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x51
mov byte [esp + 0x3f], al
mov dword [esp], 0x314c9c4e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x52
mov byte [esp + 0x40], al
mov dword [esp], 0x314c9c4e
mov dword [esp + 4], 5
call fcn.00419c40
xor eax, 0x53
mov byte [esp + 0x41], al
mov eax, 6
mov byte [esp + eax + 0x3c], 0
add eax, 1
cmp eax, 0xb
jne 0x4390c0
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x380]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x194], 0
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov esi, ebp
add esi, 2
mov cx, word [ebp + 2]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x39c], 0
mov edx, dword [esp + 0x3a0]
mov edi, dword [esp + 0x39c]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040a130
mov dword [esp + 0x334], 1
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x334]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov ecx, dword [eax + ecx*4]
mov eax, edi
jmp ecx
call fcn.0040a130
mov edi, ebp
add edi, 2
mov ax, word [ebp + 2]
mov dword [esp + 0x2d4], 1
mov ecx, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
call fcn.0041b920
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov ax, word [edi]
test ax, ax
sete al
mov dword [esp + 0x32c], 0
mov ecx, dword [esp + 0x330]
mov edx, dword [esp + 0x32c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
mov al, cl
and eax, 1
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov ebx, dword [esp + 0xc]
jmp ecx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
adc al, 0xa7
invalid
call fcn.0040a130
lea eax, [ebx + esi*2]
mov dword [esp + 0x13c], 0
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x13c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov word [edi], 0x5c
mov word [edi + 2], 0
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x408]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
call fcn.0040a130
mov dword [esp + 0x34c], 0
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x34c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2d0]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x2e4], ecx
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
jmp edx
call fcn.0040a130
mov dword [esp + 0x28c], 1
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x230]
mov ecx, dword [edx + ecx*4]
jmp ecx
loope 0x4393c3
sbb byte [eax], ch
mov bh, 0x9b
pop ecx
adc ecx, dword [ebx - 0x748bdbbc]
dec esp
and al, 0x78
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov eax, ebx
add eax, 0xfffffffe
mov dword [esp + 0x18c], 0
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x18c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov dword [esp], ebp
call fcn.00415f10
lea esi, [ebp + eax*2]
mov eax, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x308]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x34], al
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x3a
mov ecx, eax
or ecx, 0x8b
xor eax, 0xffffffff
or eax, 0x74
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x20], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x8a
xor eax, 0xffffffff
or eax, 0x75
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x21], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
add eax, 0x5c
mov ecx, eax
or ecx, 0x89
xor eax, 0xffffffff
or eax, 0x76
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x22], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x88
xor eax, 0xffffffff
or eax, 0x77
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x23], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x87
xor eax, 0xffffffff
or eax, 0x78
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x24], cl
mov dword [esp], 0xfe4c3d74
mov dword [esp + 4], 5
call fcn.00419c40
mov ecx, eax
or ecx, 0x86
xor eax, 0xffffffff
or eax, 0x79
and ecx, eax
xor cl, 0xff
mov byte [esp + 0x25], cl
mov eax, 6
mov byte [esp + eax + 0x20], 0
add eax, 1
cmp eax, 0xa
jne 0x4395f1
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xa
jae 0x43963b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x20]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043adf0
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x20], al
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x439606
mov eax, edi
add eax, 2
lea ecx, [esp + 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00439750
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a130
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov eax, dword [eax + ecx*4]
jmp eax
retf 0x60ca
sub esi, ebp
sar esi, 1
mov ebx, esi
inc ebx
xor eax, eax
mov ecx, ebx
sub ecx, 1
sete al
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a130
mov cx, word [ebp]
xor eax, eax
sub cx, 0x2e
sete cl
mov dword [esp + 0x3b4], 1
mov edx, dword [esp + 0x3b8]
mov edi, dword [esp + 0x3b4]
mov edx, dword [edx + edi*4]
jmp edx
insb byte es:[edi], dx
inc ebx
add byte [edi], bl
insb byte es:[edi], dx
inc ebx
add ah, bl
jne 0x4484aa
add byte [eax + 0x2d00436c], cl
insd dword es:[edi], dx
inc ebx
add byte [esi + 0x2d00436c], cl
insd dword es:[edi], dx
inc ebx
add byte [eax + 0x100436d], bh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x76], ah
inc ebx
add byte [ecx], al
add byte [eax], al
add dl, al
jne 0x4484d2
add dl, ch
insd dword es:[edi], dx
inc ebx
add byte [eax + 0xe004375], bh
outsb dx, byte [esi]
inc ebx
add byte [esi + ebp*2], dl
inc ebx
add byte [edi - 0x68ffbc91], dl
outsd dx, dword [esi]
inc ebx
add al, bl
jo 0x4484ee
inc ebx
add byte [esi + 0x76], dl
inc ebx
add ah, ah
jo 0x4484f6
add byte [ecx + 0x76], cl
inc ebx
add byte [ecx + esi*2], dh
inc ebx
add byte [0x1004376], ch
jb 0x448506
add byte [edi], dh
je 0x44850a
add al, ah
jae 0x44850e
add byte [eax], al
je 0x448512
add ah, ah
jae 0x448516
inc ebx
add byte [esi], dl
je 0x44851a
add byte [eax], al
je 0x44851e
add byte [edi], ah
je 0x448522
add byte [edi], dh
je 0x448526
add byte [ecx + 0x74], al
inc ebx
add byte [0x1e004376], ch
jbe 0x448532
inc ebx
add byte [0x15004376], dl
jbe 0x44853a
inc ebx
add byte [0x86004376], ch
jne 0x448542
add byte [esi - 0x79ffbc8b], cl
jne 0x44854a
inc ebx
add byte [eax + 0x74], dl
inc ebx
add byte [edi + 0x60004374], al
je 0x448556
inc ebx
add byte [eax + 0x74], ah
inc ebx
add byte [eax + 0x74], ah
inc ebx
add byte [eax + 0x74], ah
inc ebx
add byte [esi + 0x74], ah
inc ebx
add byte [eax + 0x74], ah
inc ebx
add byte [edi + 0x79004374], al
je 0x44856e
inc ebx
add byte [ecx + 0x74], bh
inc ebx
add byte [ebp + esi*2 + 0x43], dh
add byte [eax + 0x75], ah
inc ebx
add byte [ebp - 0x4cffbc8a], ah
jbe 0x44857e
inc ebx
add byte [edx + 0x77], dh
inc ebx
add byte [ebp + 0x78], cl
inc ebx
add byte [eax - 0x7fffbc88], al
js 0x44858e
inc ebx
add byte [eax - 0x7dffbc88], al
js 0x448596
add byte [edx + 0x77], dh
inc ebx
add byte [eax + 0x62004378], dl
js 0x4485a2
add byte [esi], cl
push cs
jns 0x4485a6
add byte [eax + 0x77], bh
inc ebx
add byte [esi + 0x79], dl
inc ebx
add byte [esi + 0x79], dl
inc ebx
add byte [ebp + 0x20004376], ah
pop dword [ebx]
salc
mov es, word [ebx]
ret
inc ebx
add byte [esi], bl
xchg byte [ebx], al
xchg ebx, eax
inc ebx
add byte [esi], bl
xchg byte [ebx], al
lea ecx, [edi - 0x7417ffbd]
inc ebx
add byte [esi + 0x4e004396], ch
xchg esp, eax
inc ebx
add al, ch
mov eax, dword [ebx]
scasb al, byte es:[edi]
xchg esi, eax
inc ebx
add byte [esi - 0x6c], cl
inc ebx
add byte [ebx + ecx*4 - 0x7aa3ffbd], dl
inc ebx
add byte [ebx + ecx*4 - 0x7a5dffbd], dl
inc ebx
add ch, ah
inc ebx
add byte [edx - 0x1affbc7b], ah
mov byte [ebx], al
int1
mov dword [ebx], eax
movsb byte es:[edi], byte [esi]
xchg edx, eax
inc ebx
add cl, bl
xchg esi, eax
inc ebx
add byte [edx + edx*4 - 0x7671ffbd], ah
inc ebx
add ch, ah
mov byte [ebx], al
mov al, byte [0x5300438a]
xchg ecx, eax
inc ebx
add byte [ecx], ah
mov al, byte [ebx]
jge 0x448560
inc ebx
add byte [ecx], ah
mov al, byte [ebx]
adc al, byte [edi - 0x701effbd]
inc ebx
add byte [ebp - 0x6c], ch
inc ebx
add byte [eax - 0x74], bl
inc ebx
add byte [ebx], cl
nop
inc ebx
add byte [edx - 0x72], cl
inc ebx
add ah, dh
test byte [ebx], al
or dword [ecx - 0x7804ffbd], ecx
inc ebx
add byte [ecx], cl
mov dword [ebx], eax
cmp edx, dword [ebx - 0x71b5ffbd]
inc ebx
add byte [edi + 0x63004388], ch
xchg esi, eax
inc ebx
add byte [edi - 0x6e], bh
inc ebx
add byte [edi - 0x4dffbc78], ch
pop dword [ebx]
xchg dword [ecx - 0x74a6ffbd], edx
inc ebx
add byte [ebx], ch
xchg edx, eax
inc ebx
add byte [edi], bl
mov word [ebx], es
sub edx, dword [edx - 0x7985ffbd]
inc ebx
add byte [edx + ecx*4], dh
inc ebx
add byte [edx + edx*4], al
inc ebx
add byte [ebx + edx*4 - 0x6dfbffbd], al
inc ebx
add dl, bl
xchg byte [ebx], al
retf