Function at 0x437a32
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov dword [esp + 0x18], 0x1bc919f5
mov dword [esp + 0x1c], 0xe755e55d
mov dword [esp + 0x20], 0xe34fe15c
mov dword [esp + 0x24], 0xef22ed59
mov dword [esp + 0x28], 0xeb43e95a
mov dword [esp + 0x2c], 0xf75bf54a
mov dword [esp + 0x30], 0xf3f2f11d
lea edx, [esp + 0x34]
mov dword [esp + 0x34], 0
mov byte [esp + 0x38], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x20
ja 0x432557
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x18]
lea esi, [eax - 0x1d78e104]
add eax, 0xfc
and eax, ecx
or esi, ecx
sub esi, eax
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x40]
mov ecx, eax
or ecx, 0x1b
and eax, 0x1b
add eax, ecx
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x21
jb 0x432510
lea eax, [esp + 0x40]
lea ebx, [esp + 0x18]
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 + 0x5c]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 8]
push ecx
push 8
push ebx
push 0xd
push eax
push 0
call dword [0x446c1c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444170]
mov dword [esp + 0x18], 0x3a0043
mov dword [esp + 0x1c], 0x5c
mov dword [esp + 4], 0
push 0xd77f2487
push dword [0x446c14]
call fcn.00439870
add esp, 8
lea ecx, [esp + 4]
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 + 0x444178]
mov ecx, dword [ebp + 8]
mov eax, dword [case.0x432593.6]
nop
jmp eax
xor eax, eax
xor edx, edx
cmp eax, 4
setb dl
jmp dword [edx*4 + 0x444190]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
inc eax
xor ebx, ebx
cmp eax, 4
setb bl
mov ecx, edx
jmp dword [ebx*4 + 0x444190]
xor edx, edx
test eax, eax
sete dl
jmp dword [edx*4 + 0x444198]
lea edx, [esp + eax*4]
add edx, 4
jmp 0x43264a
jmp dword [0x4441a8]
lea edx, [esp + 4]
mov edx, dword [edx]
imul ebx, edx, 0x1a5845
imul esi, edx, 0x34b08a
and esi, 0xd7bd1426
xor ebx, 0xebde8a13
lea edx, [ecx + 8]
add ebx, esi
mov dword [esp + eax*4 + 8], ebx
mov byte [ecx + 8], 0
je 0x4326c0
cmp ebx, 0x100
jb 0x4326d0
mov ecx, edx
mov edi, ebx
nop
movzx esi, bl
movzx esi, word [esi + esi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], si
add ecx, 0xfffffffe
shr edi, 8
cmp ebx, 0xffff
mov ebx, edi
ja 0x432680
cmp edi, 0xf
ja 0x4326d9
movzx ebx, byte [edi + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], bl
dec ecx
jmp 0x4326e8
mov byte [ecx + 7], 0x30
add ecx, 7
jmp 0x4326e8
mov edi, ebx
mov ecx, edx
cmp edi, 0xf
jbe 0x4326a4
movzx esi, word [edi + edi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], si
add ecx, 0xfffffffe
mov ebx, 0xfffffff7
nop
nop
nop
cmp byte [ecx + ebx + 9], 0
lea ebx, [ebx + 1]
jne 0x4326f0
neg ebx
mov esi, ebx
jmp dword [0x4441b0]
dec ebx
lea esi, [ebx - 1]
mov edi, ebx
mov ebx, esi
jmp dword [0x4441bc]
mov byte [ecx - 1], 0x30
dec ecx
jmp dword [0x4441d4]
mov byte [ecx - 1], 0x30
dec ecx
mov byte [ecx - 1], 0x30
dec ecx
jmp dword [0x4441d4]
mov ebx, esi
jmp dword [0x4441b0]
lea ebx, [esi - 1]
mov edi, esi
mov esi, ebx
jmp dword [0x4441bc]
xor ebx, ebx
test edi, edi
setne bl
jmp dword [ebx*4 + 0x4441c0]
jmp dword [0x4441c8]
xor eax, eax
mov ecx, dword [case.0x4328ab.16]
jmp case.0x4328ab.14
push 0x400
call fcn.00435ff0
add esp, 4
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 8], 0x2050407
mov dword [esp + 0xc], 0
mov dword [esp + 0xf], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xa
ja 0x43283b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea edi, [eax + 0x3e506d01]
mov ebx, edx
not ebx
or ebx, edi
lea ecx, [edx + ebx]
inc ecx
and edi, edx
mov ebx, ecx
and ebx, edi
xor edi, ecx
add eax, edx
add eax, 0x3e506d01
lea ecx, [edi + ebx*2]
sub eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
add al, 0xf9
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xb
jb 0x4327f0
mov eax, dword [esp + 8]
mov edx, dword [0x446c20]
test edx, edx
je case.default.0x4328ab
xor edi, edi
mov ebx, dword [0x446c24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x3bebd150
je 0x432870
inc edi
cmp edx, edi
jne 0x432860
jmp case.default.0x4328ab
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je case.default.0x4328ab
lea eax, [esp + 0x24]
push 0x2f
push 0x400
push dword [esp + 0x24]
push eax
push esi
push 5
push dword [0x446c28]
push edx
call fcn.00437df0
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x1c]
jmp dword [eax*4 + 0x4441e0]
mov esi, dword [ebp + 0x10]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x18], 0
cmp ecx, dword [edx]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x4441e8]
mov eax, dword [edx + ebx*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.00436430
xor eax, eax
mov ecx, dword [ebp + 0xc]
neg ecx
mov edi, esi
sbb eax, esi
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
lea ecx, [esp + 8]
push eax
call fcn.00436450
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4441f0]
jmp 0x432948
lea ecx, [esp + 8]
push edi
push dword [ebp + 0xc]
push 0
call fcn.00436670
test eax, eax
setns al
mov dword [esp + 0x18], eax
lea ecx, [esp + 8]
call fcn.00436590
mov eax, dword [case.0x4328ab.8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x4328ab.12]
mov edx, dword [esp + 0x1c]
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
xor eax, 1
and ebx, 1
lea ebx, [eax + ebx*2]
xor eax, eax
cmp ebx, dword [edx]
setb al
jmp dword [eax*4 + 0x4441e8]
push edx
call fcn.004360f0
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x2050407
mov dword [esp + 0xc], 0
mov dword [esp + 0xf], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xa
ja 0x432a1f
nop
nop
nop
nop
nop
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 + 0x3e506d01]
mov edi, edx
not edi
or edi, esi
add edi, edx
inc edi
and esi, edx
mov ebx, edi
and ebx, esi
xor esi, edi
add ecx, edx
add ecx, 0x3e506d01
lea edx, [esi + ebx*2]
sub ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0xf9
mov edx, dword [esp + 4]
mov byte [esp + edx + 8], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xb
jb 0x4329d0
mov ecx, dword [0x446c20]
test ecx, ecx
je 0x432a6a
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x446c24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x432a50
inc esi
cmp ecx, esi
jne 0x432a40
jmp 0x432a6a
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x432a6a
push eax
push 1
push dword [0x446c28]
push ecx
call fcn.00437df0
add esp, 0x10
mov ecx, dword [case.0x4328ab.16]
mov eax, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [ebp - 0x1b]
mov bl, al
and ebx, 1
mov dword [ebp - 0x194], ebx
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
movzx eax, bx
mov dword [ebp - 0x29c], 0
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x408]
mov ecx, dword [ebp - 0x404]
mov eax, dword [eax + ecx*4]
jmp eax
loop 0x433712
and al, 0xb5
fisubr dword [ecx + ebp*4 - 0xa8497be]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x350]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x494], 0
mov eax, dword [ebp - 0x498]
mov ecx, dword [ebp - 0x494]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x18]
jmp eax
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x468]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x19c], 1
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
push eax
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov edi, esp
mov dword [ebp - 0x524], 1
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x524]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov ax, word [esi]
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov word [eax], 0x5c
mov eax, dword [ebp - 0x10]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x190]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [ebp - 0x3b8]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x3a0]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [edi]
add eax, 0xfffffffe
mov dword [edi], eax
mov eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x358]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
mov eax, dword [edi]
mov word [eax], 0x5c
mov dword [ebp - 0x48c], 1
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x48c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x1e4], 1
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x310]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [edi]
add eax, 0xfffffffe
mov dword [edi], eax
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x250]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
mov eax, dword [ecx + eax*4]
jmp eax
insd dword es:[edi], dx
out 0x85, al
retf
mov eax, dword [ebp - 0x10]
mov word [eax + 4], 0x5c
mov eax, dword [ebp - 0x10]
mov word [eax + 6], 0
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ebx, dword [esi]
sub esp, 4
mov dword [esp], ebx
call fcn.00418aa0
add esp, 4
lea eax, [ebx + eax*2]
mov dword [edi], eax
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [ebp - 0x4c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x298]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.004095f0
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov ecx, dword [edi]
mov edx, dword [ebp - 0x10]
xor eax, eax
sub ecx, edx
setae cl
mov dword [ebp - 0x26c], 1
mov edx, dword [ebp - 0x270]
mov ebx, dword [ebp - 0x26c]
mov edx, dword [edx + ebx*4]
jmp edx
call fcn.004095f0
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x2cc], ecx
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 1
mov ecx, eax
and ecx, 1
or eax, 1
add ecx, eax
mov edi, dword [ebp - 0x28]
mov dword [edi], ecx
mov eax, dword [edi]
xor ecx, ecx
sub eax, 1
sete cl
mov dword [ebp - 0x4b4], ecx
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x3c4], 0
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2b8]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [edi]
xor ecx, ecx
sub eax, 2
sete cl
mov dword [ebp - 0x42c], ecx
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x42c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x450]
mov ecx, dword [edx + ecx*4]
jmp ecx
sub ebx, dword [eax + ebx*8]
daa
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
xor eax, eax
mov ecx, esi
sub ecx, 0x3a
sete cl
mov dword [ebp - 0x154], 1
mov edx, dword [ebp - 0x158]
mov edi, dword [ebp - 0x154]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.004095f0
mov eax, dword [esi]
mov dword [ebp - 0x454], 1
mov ecx, dword [ebp - 0x458]
mov edx, dword [ebp - 0x454]
mov ecx, dword [ecx + edx*4]
jmp ecx
xchg edi, eax
fistp qword [edx - 0x76]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
mov esp, 0x70f4093a
inc edx
cmp eax, 0x3c858b52
invalid
mov eax, dword [esi]
add eax, 4
mov dword [esi], eax
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x348]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x4f0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x23c], 1
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.004095f0
mov eax, dword [ebp - 0x10]
mov cx, word [eax + 2]
xor eax, eax
test cx, cx
sete cl
mov dword [ebp - 0x364], 0
mov edx, dword [ebp - 0x368]
mov ebx, dword [ebp - 0x364]
mov edx, dword [edx + ebx*4]
jmp edx
mov esi, dword [ebp - 0x10]
add esi, 2
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
mov eax, dword [ecx + eax*4]
mov edi, dword [ebp - 0x18]
jmp eax
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x374], ecx
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x374]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov eax, dword [ebp - 0x10]
mov word [eax], 0
mov eax, dword [ebx]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov dword [edi], eax
mov dword [ebp - 0x4dc], 1
mov eax, dword [ebp - 0x4e0]
mov ecx, dword [ebp - 0x4dc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x4e4], 0
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [ebp - 0x4e4]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x30]
jmp eax
fcom dword [edx - 0x758b1d2a]
rcr byte [esi + 0x77], 0x82
sub cl, byte [ebx - 0x51]
daa
cmp eax, dword [edx - 0xb37a75]
invalid
mov cl, 0x63
ja case.0x4328ab.100
mov byte [0x8b574efd], al
test dword [edi + edi*8], edx
invalid
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
imul edx, dword [eax - 0x26], 0xffffffcb
sub dh, byte [ebx - 0x4d]
pop ebp
salc
push edi
mov ss, word [ebx]
push cs
push esp
xchg ecx, eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebp - 0x1a]
mov bl, al
and ebx, 1
mov dword [ebp - 0x314], ebx
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
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 esp, 0x8914cb88
fadd dword [ebx - 0x137cfd40]
or byte [ecx + 0x44c72404], cl
and al, 4
invalid
pop ss
aas
das
push 0xffffffffffffff8f
insb byte es:[edi], dx
inc esp
add eax, 0xcc458b01
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax*4]
jmp eax
pop edx
mov ebp, 0x78b7878
mov word [eax], 0x5c
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x35c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [ebp - 0x424], ecx
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x424]
mov eax, dword [eax + ecx*4]
jmp eax
bound edx, qword [edi]
retf 0xa063
call fcn.004095f0
mov dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x4d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x170]
mov ecx, dword [edx + ecx*4]
jmp ecx
sbb eax, 0x1f567215
cdq
inc ecx
xor cl, byte [ebx + 0x4d8b8c45]
mov byte [ebx - 0x1f007efc], cl
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004095f0
mov eax, ebx
add eax, 2
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x43e6f0
call fcn.004348f0
add esp, 8
mov dword [ebp - 0x3a4], 0
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [ebp - 0x3a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x24]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x31c], 0
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
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]
jmp eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x49c], eax
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x49c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x414], 1
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, dword [edi]
mov edx, dword [ebp - 0x10]
xor eax, eax
sub ecx, edx
seta cl
mov dword [ebp - 0x40c], 0
mov edx, dword [ebp - 0x410]
mov ebx, dword [ebp - 0x40c]
mov edx, dword [edx + ebx*4]
jmp edx
mov al, byte [ebp - 0x19]
mov bl, al
and ebx, 1
mov dword [ebp - 0x37c], ebx
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x37c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
mov ax, word [eax + 4]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x224], ecx
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x224]
mov eax, dword [eax + ecx*4]
jmp eax
cwde
ror byte [0xff54858b], cl
invalid
call fcn.004095f0
mov eax, ebx
add eax, 2
mov dword [edi], eax
mov dword [ebp - 0x46c], 0
mov eax, dword [ebp - 0x470]
mov ecx, dword [ebp - 0x46c]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
mov eax, dword [esi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call 0x4348b0
add esp, 8
mov edi, dword [ebp - 0x2c]
mov dword [edi], eax
mov eax, dword [edi]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x4c4], ecx
mov eax, dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x4c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov eax, dword [ebp - 0x10]
mov cx, word [eax + 4]
xor eax, eax
test cx, cx
sete cl
mov dword [ebp - 0x13c], 0
mov edx, dword [ebp - 0x140]
mov esi, dword [ebp - 0x13c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [edi]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x258]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
mov eax, dword [esi]
mov cx, word [eax]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [ebp - 0x4a4], 1
mov edx, dword [ebp - 0x4a8]
mov ebx, dword [ebp - 0x4a4]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [ebp - 0x484]
mov ecx, dword [ebp - 0x488]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x520]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004095f0
mov ecx, dword [ebp - 0x10]
xor eax, eax
test ecx, ecx
sete cl
mov dword [ebp - 0x4fc], 1
mov edx, dword [ebp - 0x500]
mov edi, dword [ebp - 0x4fc]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.004095f0
mov dword [ebp - 0x4ac], 1
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4ac]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x504], 0
mov eax, dword [ebp - 0x508]
mov ecx, dword [ebp - 0x504]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x3f0]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x41c], ecx
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x18]
jmp eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x334]
mov edx, dword [ebp - 0x338]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [ebp - 0x4f4], eax
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [ebp - 0x4f4]
mov eax, dword [eax + ecx*4]
mov edi, esi
jmp eax
lodsb al, byte [esi]
mov es, word [edx - 0x80]
xchg ebx, eax
sub al, 0x7e
hlt
call fcn.004095f0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2bc], 0
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x238]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
add eax, 2
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x43e6f0
call fcn.004348f0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x2d4], ecx
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x384], 1
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x384]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x36c]
mov eax, dword [eax + ecx*4]
jmp eax
shr byte [di], cl
invalid
call fcn.004095f0
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [edi]
mov ecx, dword [esi]
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebx]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0041cb90
add esp, 0xc
mov eax, dword [edi]
mov ecx, eax
xor ecx, 1
and eax, 0x3ffffffe
add eax, eax
sub eax, ecx
mov ecx, dword [ebx]
lea eax, [ecx + eax*2]
mov dword [ebx], eax
mov eax, dword [edi]
mov edi, ebx
mov ecx, eax
not ecx
mov edx, eax
xor edx, 1
and edx, ecx
and eax, 0x7ffffffe
sub eax, edx
mov ecx, dword [esi]
lea eax, [ecx + eax*2]
mov dword [esi], eax
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x208]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
jnp 0x43476d
cdq
insb byte es:[edi], dx
ret 0x94c0
invalid
pop ds
or ebx, dword [ebx + ecx*4]
inc ebp
mov esp, 0x8bb84d8b
add al, 0x81
jmp eax
call fcn.004095f0
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x3bc], 1
mov eax, dword [ebp - 0x3c0]
mov ecx, dword [ebp - 0x3bc]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
jns 0x4347d2
xchg dword [esi], edx
mul dword [ecx - 0x6754df88]
xchg dl, bl
xchg dword [ebx - 0x3a], ebx
scasb al, byte es:[edi]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
mov bh, 0xfc
inc edx
xchg byte [eax], bl
shr byte [edi - 0x59f8efe4], cl
les ebx, [esi]
mov ss, word [eax]
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
add eax, 0xfffffffe
mov dword [edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x280]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004095f0
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
mov dword [ebp - 0x3f4], 1
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0x3f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004095f0
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp - 0x3fc]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [ecx], 0x73726d1c
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov word [ecx + 0xc], 0
mov dword [esi], 0
mov edx, dword [esi]
cmp edx, 0xd
ja case.0x4328ab.177
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi]
mov edi, dword [esi]
movzx ebx, byte [ecx + edi]
lea edi, [edx + ebx]
add edi, 0x1b8405ce
add edx, 0xce
and edx, ebx
add edx, edx
mov ebx, edi
not ebx
and ebx, edx
not edx
and edx, edi
sub edx, ebx
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
add dl, 0x5e
mov edi, dword [esi]
mov byte [ecx + edi], dl
inc dword [esi]
mov edx, dword [esi]
cmp edx, 0xe
jb 0x436050
mov ecx, dword [ecx]
mov ecx, dword fs:[ecx]
mov edx, dword [case.0x4328ab.182]
nop
nop
nop
nop
nop
nop
nop
jmp edx
mov edx, dword [case.0x4328ab.188]
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
mov ecx, dword [ecx + 0x18]
mov edx, dword [case.0x4328ab.195]
nop
nop
nop
nop
nop
jmp edx
push eax
push 0
push ecx
call dword [0x44ec40]
mov ecx, dword [case.0x4328ab.208]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov edx, dword [case.0x4328ab.225]
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
jmp dword [0x444814]
xor edx, edx
test eax, eax
setne dl
jmp dword [edx*4 + 0x444818]
mov dword [ecx], 0x53505126
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xb], 0
mov dword [esi], 0
mov edx, dword [esi]
cmp edx, 0xe
ja 0x4361b2
nop
nop
nop
nop
mov edx, dword [esi]
mov edi, dword [esi]
movzx edi, byte [ecx + edi]
mov ebx, edx
and ebx, 0x32cd2273
xor edx, 0xb2cd2273
lea edx, [edx + ebx*2]
xor edx, edi
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
add dl, 0xdb
mov edi, dword [esi]
mov byte [ecx + edi], dl
inc dword [esi]
mov edx, dword [esi]
cmp edx, 0xf
jb 0x436180
mov ecx, dword [ecx]
mov ecx, dword fs:[ecx]
push eax
push 0
push dword [ecx + 0x18]
call dword [0x44ec48]
mov eax, dword [case.0x4328ab.235]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [case.0x4328ab.248]
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
jmp eax
mov dword [esi + 0x1c], edi
mov dword [esi + 0x28], edx
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x18], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x20], eax
mov esp, eax
push eax
sub esp, 0x1c
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
mov dword [esi + 0x14], ecx
mov dword [esi + 0x30], 0xb306b10e
mov dword [esi + 0x34], 0xb70ab510
mov dword [esi + 0x38], 0x8bf48934
mov dword [esi + 0x3c], 0x8f328d28
mov dword [esi + 0x40], 0x8382813c
mov dword [esi + 0x44], 0
mov word [esi + 0x48], 0
mov dword [esi + 0x24], ebx
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x19
ja 0x437544
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x30]
lea edx, [eax + 0x2d416f18]
add eax, 0x18
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
add al, 0x58
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x30], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x1a
jb 0x437510
lea eax, [esi + 0x30]
mov dword [esi + 0xc], eax
push eax
call fcn.004391b0
add esp, 4
mov ecx, eax
mov dword [0x44ec38], eax
xor edx, edx
test eax, eax
sete dl
xor eax, eax
jmp dword [edx*4 + 0x444850]
mov dword [esi + 0x10], edi
jmp dword [0x44485c]
push 0xde118a15
push ecx
call fcn.00439870
add esp, 8
mov dword [0x44ec40], eax
push 0x9b1cb500
push dword [0x44ec38]
call fcn.00439870
add esp, 8
nop
nop
nop
nop
nop
nop
nop
push 0xde118a15
push dword [0x44ec38]
call fcn.00439870
add esp, 8
mov dword [0x44ec40], eax
push 0x9b1cb500
push dword [0x44ec38]
call fcn.00439870
add esp, 8
jmp dword [0x444864]
mov dword [0x44ec44], eax
push 0xb3a80508
push dword [0x44ec38]
call fcn.00439870
add esp, 8
mov dword [0x44ec48], eax
push 0x1f488771
push dword [0x44ec38]
call fcn.00439870
add esp, 8
mov dword [0x446c1c], eax
mov dword [esi + 0x30], 0xd39fd163
mov dword [esi + 0x34], 0xdf6add60
mov dword [esi + 0x38], 0xdb6cd991
mov dword [esi + 0x3c], 0xc796c587
mov dword [esi + 0x40], 0xc38cc190
mov dword [esi + 0x44], 0xcf78cd76
mov word [esi + 0x48], 0xc9ce
mov dword [esi + 0x4a], 0
mov dword [esi + 0x4d], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x20
ja 0x4376ac
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx edx, byte [esi + eax + 0x30]
lea eax, [ecx + edx]
add eax, 0x740c0f63
add ecx, 0x740c0f63
mov ebx, edx
not ebx
or ebx, ecx
add ebx, edx
and ecx, edx
add ecx, ebx
inc ecx
mov edx, ecx
xor edx, eax
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
add al, 0x4b
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x30], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x21
jb 0x437660
lea eax, [esi + 0x30]
push eax
call fcn.004391b0
add esp, 4
mov ecx, eax
mov dword [0x446c14], eax
xor edx, edx
test eax, eax
sete dl
xor eax, eax
mov ebx, dword [esi + 0x10]
jmp dword [edx*4 + 0x444868]
jmp dword [0x444870]
jmp 0x437a58
mov eax, dword [case.0x4376cb.15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
mov eax, dword [esi + 0xc]
cmp eax, dword [edx]
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4448a8]
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov edi, dword [esi + 0x1c]
mov dword [edi], 0x9b9a9948
mov eax, dword [esi + 0x5c]
mov word [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xd
ja 0x43777d
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
add eax, 0xe6d150ec
mov edx, eax
and edx, ecx
mov ebx, eax
xor ebx, ecx
not ecx
or eax, ecx
add ecx, ebx
add eax, edx
sub ecx, eax
lea eax, [ecx + edx*2]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x8c
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0xe
jb case.default.0x43779b
mov eax, dword [edi]
mov eax, dword fs:[eax]
mov ebx, dword [esi + 0x24]
mov dword [ebx], eax
mov ecx, dword [eax + 0xc]
add ecx, 0xc
mov eax, dword [ecx]
xor edx, edx
cmp eax, ecx
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
setne dl
jmp dword [edx*4 + 0x4448b0]
jmp dword [0x4448cc]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov ecx, dword [eax + 0x30]
jmp dword [0x4448d0]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [ecx], eax
mov ecx, dword [eax + 0x30]
jmp dword [0x4448d0]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4448d8]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x4448e0]
mov eax, 1
xor ecx, ecx
jmp 0x43792e
mov edi, dword [esi + 0x20]
mov dword [edi], 0x73fbeac5
mov eax, dword [esi + 0x60]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xf
ja 0x437877
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
lea edx, [eax + ecx]
add edx, 0x296ba309
add eax, 0x296ba309
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
add al, 0xc1
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x10
jb 0x437840
mov edi, dword [edi]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x437890
test ecx, ecx
je 0x437913
mov ebx, ecx
sar ebx, 1
test cl, 2
jne 0x4378b1
mov ecx, ebx
cmp ebx, 1
jne 0x4378cf
jmp 0x437913
movzx edx, word [eax]
mov ecx, edi
and ecx, edx
add edi, edx
add ecx, ecx
sub edi, ecx
lea ecx, [ebx - 1]
add eax, 2
imul edi, edi, 0x1000193
cmp ebx, 1
je 0x437913
xor ebx, ebx
mov dword [esi + 0x64], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [eax + ebx*2]
mov edx, edi
and edx, ecx
add edi, ecx
add edx, edx
sub edi, edx
imul ecx, edi, 0x1000193
movzx edx, word [eax + ebx*2 + 2]
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [esi + 0x64]
add ebx, 2
cmp ecx, ebx
jne 0x4378e0
xor eax, eax
mov ecx, dword [esi + 0x28]
cmp edi, dword [ecx]
sete al
mov ebx, dword [esi + 0x24]
jmp dword [eax*4 + 0x4448e0]
xor eax, eax
mov ecx, 1
mov edx, dword [case.0x4328ab.287]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
mov edx, dword [case.0x4328ab.290]
nop
nop
nop
nop
nop
nop
nop
nop
jmp edx
jmp dword [ecx*4 + 0x444908]
mov edi, dword [esi + 0x2c]
mov eax, dword [edi]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0xc]
mov eax, dword [eax]
add ecx, 0xc
xor edx, edx
cmp eax, ecx
mov dword [edi], eax
setne dl
jmp dword [edx*4 + 0x4448b0]
mov eax, 4
jmp dword [0x4448c0]
xor ecx, ecx
cmp eax, 4
sete cl
jmp dword [ecx*4 + 0x444910]
xor ecx, ecx
test eax, eax
sete cl
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
jmp dword [ecx*4 + 0x444918]
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
jmp dword [ecx*4 + 0x444918]
xor eax, eax
jmp dword [0x44492c]
mov ecx, dword [case.0x4328ab.304]
nop
nop
jmp ecx
jmp dword [0x444948]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x444950]
mov eax, dword [esi + 0xc]
jmp dword [0x444958]
add eax, 4
add eax, 4
jmp dword [0x444960]
mov dword [esi + 0xc], eax
jmp 0x4376e0
mov ecx, dword [case.0x4328ab.317]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 2
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x444978]
jmp dword [0x444980]
xor eax, eax
jmp dword [0x4449a0]
push 0x2df68b61
push ecx
call fcn.00439870
add esp, 8
mov dword [0x445908], eax
push 0xd4ed4ea7
push dword [0x446c14]
call fcn.00439870
add esp, 8
mov dword [0x445a0c], eax
push 0xe174828e
push dword [0x446c14]
call fcn.00439870
add esp, 8
mov dword [0x446c34], eax
call fcn.00437e20
jmp dword [0x44487c]
push 0x2df68b61
push dword [0x446c14]
call fcn.00439870
add esp, 8
mov dword [0x445908], eax
push 0xd4ed4ea7
push dword [0x446c14]
call fcn.00439870
add esp, 8
mov dword [0x445a0c], eax
push 0xe174828e
push dword [0x446c14]
call fcn.00439870
add esp, 8
mov dword [0x446c34], eax
call fcn.00437e20
mov ecx, dword [0x446c14]
jmp 0x437a58
movzx eax, al
jmp dword [eax*4 + 0x444880]
mov ecx, dword [case.0x437563.1]
xor eax, eax
jmp ecx
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
push 0x2c
push 0x43de3c
lea eax, [esi + 0x30]
push eax
call fcn.00408d70
add esp, 0xc
lea eax, [esi + 0x5c]
mov edx, dword [esi + 0x14]
mov dword [edx], eax
mov eax, dword [esi + 0x1c]
add eax, 4
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x60], eax
jmp 0x4376e0
mov eax, dword [0x445908]
mov dword [ebx], 0xfb6af923
mov dword [ebx + 4], 0xff6cfd71
mov dword [ebx + 8], 0xf325f16a
mov dword [ebx + 0xc], 0xf72af520
mov dword [ebx + 0x10], 0xeb74e912
mov dword [ebx + 0x14], 0xefeced76
mov word [ebx + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x437bd2
nop
nop
nop
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edi, 0x65f413e0
sub edi, edx
add edx, 0x1f
and edx, ecx
or edi, ecx
not edi
add edi, ecx
sub edi, edx
mov dword [esi + 8], edi
mov ecx, dword [esi + 8]
mov edx, ecx
xor edx, 0x26
and ecx, 0x26
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x437b90
push 0x800
push 0
push ebx
call eax
test eax, eax
je 0x437be5
mov dword [0x446c2c], eax
jmp dword [0x44498c]
mov eax, dword [0x445908]
mov dword [ebx], 0xfb6af923
mov dword [ebx + 4], 0xff6cfd71
mov dword [ebx + 8], 0xf325f16a
mov dword [ebx + 0xc], 0xf72af520
mov dword [ebx + 0x10], 0xeb74e912
mov dword [ebx + 0x14], 0xefeced76
mov word [ebx + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x437c72
nop
nop
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edi, 0x65f413e0
sub edi, edx
add edx, 0x1f
and edx, ecx
or edi, ecx
not edi
add edi, ecx
sub edi, edx
mov dword [esi + 8], edi
mov ecx, dword [esi + 8]
mov edx, ecx
xor edx, 0x26
and ecx, 0x26
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x437c30
push 0x800
push 0
push ebx
call eax
test eax, eax
je case.0x4328ab.320
mov dword [0x446c2c], eax
jmp case.0x4328ab.320
xor ecx, ecx
test eax, eax
setne cl
mov al, 1
jmp dword [ecx*4 + 0x444990]
mov ecx, dword [case.0x437563.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov ecx, dword [case.0x4328ab.334]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test ecx, ecx
sete dl
jmp dword [edx*4 + 0x4449d0]
mov dword [esp + 8], 0x63626130
mov dword [esp + 0xc], 0
mov word [esp + 0x10], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 9
ja case.0x4328ab.360
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx edi, byte [esp + esi + 8]
lea esi, [edx + edi]
add esi, 0x7283de50
add edx, 0x7283de50
and edx, edi
add edx, edx
mov edi, esi
not edi
and edi, edx
not edx
and edx, esi
sub edx, edi
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
mov esi, edx
or esi, 0xcf
and edx, 0xcf
add edx, esi
inc dl
mov esi, dword [esp]
mov byte [esp + esi + 8], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0xa
jb 0x437d50
mov edx, dword [esp + 8]
mov edx, dword fs:[edx]
push ecx
push eax
push 0
push dword [edx + 0x18]
call dword [0x44ec44]
jmp 0x437dd2
push ecx
call fcn.00435ff0
add esp, 4
jmp 0x437dd2
push eax
call fcn.004360f0
add esp, 4
xor eax, eax
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret