Function at 0x41381d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x140
mov word [esp + 0x48], 0xbf1
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x411e1f
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x48]
lea ecx, [eax + 0x43]
and ecx, edx
add eax, edx
sub eax, ecx
mov edx, 0xaaceb3bc
sub edx, eax
add eax, 0x6074d943
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xb0]
add al, 0xb1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x411dd0
lea eax, [esp + 0x48]
push eax
push dword [ebp + 8]
call fcn.004045f0
add esp, 8
mov edi, eax
xor ecx, ecx
test eax, eax
sete cl
xor ebx, ebx
xor eax, eax
jmp dword [ecx*4 + 0x4496d8]
mov dword [esp + 0x3c], edi
jmp 0x411e62
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x124]
mov eax, ebx
xor eax, 1
and ebx, 1
lea ebx, [eax + ebx*2]
push edi
call fcn.00404800
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x4496e0]
mov dword [esp + 0x124], ebx
push ebx
push edi
call fcn.00404810
add esp, 8
mov ebx, eax
mov word [esp + 0x48], 0x994
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x411f04
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 + 0x48]
mov edx, eax
xor edx, 0x47fecabe
and eax, 0xc7fecabe
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x4a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x411ec0
push 3
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4496e8]
mov word [esp + 0x48], 0x71cc
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x411f9d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
mov edx, ecx
xor edx, 0x81221f14
add ecx, ecx
and ecx, 0x2443e28
mov esi, ecx
and esi, edx
xor ecx, edx
lea ecx, [ecx + esi*2]
xor ecx, eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xb0]
add al, 0x9c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x411f50
lea esi, [esp + 0x48]
push esi
push ebx
call fcn.00404580
add esp, 8
fnstcw word [esp + 0x10e]
movzx eax, word [esp + 0x10e]
or eax, 0xc00
mov word [esp + 0x122], ax
fldcw word [esp + 0x122]
fistp dword [esp + 0x138]
fldcw word [esp + 0x10e]
mov eax, dword [esp + 0x138]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x4496f0]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x4496f8]
sete al
movzx eax, al
jmp dword [eax*4 + 0x449700]
mov dword [esp + 0x44], 0x9f05
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x412085
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x44]
mov edx, eax
xor edx, 0x9ab6c625
and eax, 0x1ab6c625
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x47
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x44], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x412030
push 2
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449790]
mov word [esp + 0x48], 0x8f1c
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x41210e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xa0476ddd
and eax, 0x20476ddd
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xaf
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x4120d0
push 2
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449798]
mov word [esp + 0xb0], 0x67f3
lea eax, [esp + 0xb2]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 7
ja 0x4121b5
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0xb0]
mov edx, eax
xor edx, 0x83a6c599
and eax, 0x3a6c599
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 3
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0xb0], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 8
jb 0x412160
push 5
lea eax, [esp + 0xb4]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4497a0]
mov word [esp + 4], 0xf966
lea eax, [esp + 6]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x412253
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 4]
mov edx, ecx
xor edx, 0x3ca980aa
mov esi, ecx
xor esi, 0x43567f55
or ecx, 0x3ca980aa
and ecx, esi
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xae
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x412200
push 2
lea eax, [esp + 8]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4497a8]
mov word [esp + 0x30], 0x315c
lea eax, [esp + 0x31]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x4122fd
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 0x30]
lea edx, [ecx + ecx]
and edx, 0xbf978b68
mov esi, ecx
not esi
or esi, 0x5fcbc5b4
add esi, ecx
sub ecx, edx
lea edx, [ecx + esi*2]
lea ecx, [ecx + esi*2]
add ecx, 0xdfcbc5b6
add edx, eax
add edx, 0xdfcbc5b6
and ecx, eax
add ecx, ecx
sub edx, ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0x7c
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x4122a0
push 3
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4497b0]
mov dword [esp + 0x114], 0xe9aaa
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x41238f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 0x114]
mov edx, ecx
xor edx, 0xaf271dbd
and ecx, 0x2f271dbd
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x4f
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x114], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x412340
push 3
lea eax, [esp + 0x118]
push eax
push ebx
call fcn.004047a0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4497b8]
mov word [esp + 0x48], 0x7b15
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x412449
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
add ecx, 0xe7bf246b
mov edx, ecx
mov esi, eax
not esi
or esi, ecx
and ecx, eax
xor edx, eax
lea ecx, [edx + ecx*2]
lea edx, [eax + esi]
add eax, esi
inc eax
mov esi, ecx
xor esi, eax
not eax
and eax, ecx
add eax, eax
lea ecx, [esi + edx]
inc ecx
sub eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov ecx, eax
not ecx
and ecx, 0x17
and eax, 0xe8
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x4123e0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404520
add esp, 8
mov edi, eax
mov word [esp + 0x48], 0x9968
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x4124d8
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x48]
lea ecx, [eax + edx]
add ecx, 0x11dd8bda
add eax, 0x11dd8bda
and eax, edx
mov edx, ecx
xor edx, eax
mov esi, eax
not esi
and ecx, esi
add ecx, ecx
sub ecx, edx
xor eax, ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xb0]
add al, 0xbe
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x412480
lea esi, [esp + 0x48]
push esi
push ebx
call fcn.00404520
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 4], 0x41ed
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x412569
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 4]
lea edx, [eax + ecx]
add edx, 0x3f97cff0
add eax, 0x3f97cff0
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x50
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x412510
lea eax, [esp + 4]
push eax
push ebx
call fcn.004045f0
add esp, 8
mov dword [esp + 0x2c], eax
mov word [esp + 0x48], 0x47de
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x4125e4
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x700df0f1
and eax, 0xf00df0f1
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x4b
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x4125a0
push esi
push ebx
call fcn.00404520
add esp, 8
mov dword [esp + 0x20], eax
mov word [esp + 0x48], 0x5ba0
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x412659
nop
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 + 0x48]
add eax, 0x3b245f0f
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0xb5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x412620
push esi
push ebx
call fcn.00404580
add esp, 8
mov dword [esp + 4], 0xf696a2
fnstcw word [esp + 0x108]
movzx eax, word [esp + 0x108]
or eax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp dword [esp + 0x12c]
fldcw word [esp + 0x108]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x28], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x41270d
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0xd54762fe
and eax, 0xd54762fe
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xa
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x4126c0
lea eax, [esp + 4]
push eax
push ebx
call fcn.00404580
add esp, 8
lea ebx, [edi - 1]
mov esi, 0xffffffff
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
inc esi
add eax, 2
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x412730
fnstcw word [esp + 0x106]
movzx ecx, word [esp + 0x106]
or ecx, 0xc00
mov word [esp + 0x11a], cx
fldcw word [esp + 0x11a]
fistp dword [esp + 0x128]
fldcw word [esp + 0x106]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x40], ecx
and eax, 2
xor esi, 1
add esi, eax
lea eax, [esi + esi]
test esi, esi
jns 0x41278e
mov eax, 0xffffffff
push eax
call fcn.0040c580
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + esi*2]
add ecx, 0xfffffffe
mov esi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
jae 0x4127ea
mov esi, dword [esp + 0x1c]
cmp edi, ebx
jae 0x4127ea
mov esi, dword [esp + 0x1c]
cmp byte [edi], 0
je 0x4127ea
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.00410a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x18]
jae 0x4127ea
add edi, eax
cmp edi, ebx
jb 0x4127bf
mov word [esi], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
lea ecx, [esp + 0xb0]
mov esi, dword [esp + 0x1c]
push esi
call fcn.0043c760
jmp dword [0x4497c0]
push esi
call fcn.0040c590
add esp, 4
lea ecx, [esp + 0xb0]
push 0x400
call fcn.0043c9b0
not eax
shr eax, 0x1f
mov edi, dword [esp + 0x3c]
jmp dword [eax*4 + 0x4497c8]
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x449708]
mov word [esp + 0x48], 0x39c8
lea eax, [esp + 0x4a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x412b91
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 + 0x48]
mov edx, eax
xor edx, 0xbbf1cff6
and eax, 0x3bf1cff6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov ecx, eax
not ecx
and ecx, 0xce
and eax, 0x31
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x412b40
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404520
add esp, 8
mov dword [esp + 0x20], eax
mov word [esp + 0x48], 0x8906
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x412c14
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 + 0x48]
mov edx, eax
xor edx, 0x5a1d5ee2
and eax, 0xda1d5ee2
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x96
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x412bd0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404520
add esp, 8
mov esi, dword [esp + 0x20]
test esi, esi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x4498c8]
mov ecx, esi
mov edx, esi
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x412c40
mov dword [esp + 0x1c], eax
xor edi, edi
cmp ebx, edx
jbe 0x412c87
cmp byte [edx], 0
je 0x412c87
xor edi, edi
mov esi, dword [esp + 0x20]
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00410a70
add esp, 0xc
lea ecx, [esi + eax]
inc edi
cmp ecx, ebx
jae 0x412c87
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x412c60
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x412c95
mov eax, 0xffffffff
push eax
call fcn.0040c580
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jae 0x413747
mov edi, dword [esp + 0x24]
cmp esi, ebx
jae 0x413747
mov edi, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x413747
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00410a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x18]
jae 0x413743
add esi, eax
cmp esi, ebx
mov eax, dword [esp + 0x1c]
jb 0x412ce0
jmp 0x413747
mov eax, dword [esp + 0x1c]
mov word [edi], 0
xor ebx, ebx
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, 2
cmp byte [eax + ebx], 0
lea ebx, [ebx + 1]
jne 0x413760
lea eax, [edi + 2]
test ebx, ebx
jns 0x413778
mov eax, 0xffffffff
push eax
call fcn.0040c580
add esp, 4
mov esi, dword [esp + 0x1c]
add ebx, esi
dec ebx
mov dword [esp + 0x48], 0
add edi, eax
mov dword [esp + 0x18], eax
cmp eax, edi
mov dword [esp + 0x38], eax
jae 0x4137e1
mov dword [esp + 0x18], eax
cmp esi, ebx
jae 0x4137e1
mov dword [esp + 0x18], eax
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x4137e1
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00410a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0x18]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x18], edx
cmp edx, edi
jae 0x4137e1
add esi, eax
cmp esi, ebx
jb 0x4137b0
mov eax, dword [esp + 0x18]
mov word [eax], 0
mov word [esp + 0x48], 0x796d
mov byte [esp + 0x4a], 2
lea eax, [esp + 0x4a]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x413874
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 + 0x48]
mov edx, eax
xor edx, 0x1c429880
and eax, 0x1c429880
lea eax, [edx + eax*2]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov ecx, eax
xor ecx, 0x80
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x413820
lea eax, [esp + 0x48]
push eax
push dword [ebp + 8]
call fcn.004045f0
add esp, 8
xor ecx, ecx
mov dword [esp + 0x28], eax
test eax, eax
setne cl
xor ebx, ebx
mov dword [esp + 0x2c], 0
jmp dword [ecx*4 + 0x4498d0]
lea esi, [esp + 0x48]
mov ecx, esi
push 3
call fcn.0040ced0
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x40]
push dword [esp + 0x30]
push esi
call fcn.0041e690
add esp, 0x14
mov ecx, esi
call fcn.0040d7d0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4498f0]
lea esi, [ebx - 4]
mov eax, dword [ebx - 4]
lea ecx, [eax + eax*2]
lea edi, [ebx + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4498f8]
push esi
call fcn.0040c590
add esp, 4
jmp dword [0x449918]
add edi, 0xfffffff4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x449900]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x413910
push eax
call fcn.0040c590
add esp, 4
jmp 0x413910
push dword [esp + 0x28]
call fcn.00404800
add esp, 4
mov ecx, eax
mov dword [esp + 0x2c], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x413960
mov esi, eax
test dl, dl
jne 0x413966
mov ecx, esi
push ecx
call fcn.0040c580
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
add ebx, 4
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x40], ebx
jmp dword [eax*4 + 0x4498d8]
mov eax, dword [esp + 0x2c]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
lea ecx, [ebx + 0xc]
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x4498e0]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x4498e0]
xor ecx, ecx
xor eax, eax
cmp ecx, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x4498e8]
mov eax, dword [esp + 0x18]
mov word [eax], 0
mov ecx, dword [esp + 0x1c]
inc ecx
xor eax, eax
cmp ecx, dword [esp + 0x2c]
setb al
mov ebx, dword [esp + 0x40]
jmp dword [eax*4 + 0x4498e8]
mov dword [esp + 0x1c], ecx
push ecx
push dword [esp + 0x2c]
call fcn.00404810
add esp, 8
mov edi, eax
mov dword [esp + 4], 0x4ad9d7
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x413aad
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0xb13b33f3
and eax, 0x313b33f3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x41
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x413a60
lea eax, [esp + 4]
push eax
push edi
call fcn.00404520
add esp, 8
mov esi, eax
mov word [esp + 0x48], 0xb5db
mov byte [esp + 0x4a], 0x3e
lea eax, [esp + 0x4a]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x413b34
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xf4e8faf5
and eax, 0xf4e8faf5
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x37
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x413af0
lea eax, [esp + 0x48]
push eax
push edi
call fcn.00404520
add esp, 8
mov dword [esp + 0x20], eax
mov word [esp + 0x48], 0x9585
mov byte [esp + 0x4a], 0x22
lea eax, [esp + 0x4a]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x413bc4
nop
nop
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 + 0x48]
mov edx, eax
xor edx, 0x35a82cc8
and eax, 0x35a82cc8
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x18
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x413b80
lea eax, [esp + 0x48]
push eax
push edi
call fcn.00404520
add esp, 8
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
mov dword [ebx + ecx*4], 0
mov dword [ebx + ecx*4 + 4], esi
lea edi, [ebx + ecx*4]
mov dword [ebx + ecx*4 + 8], eax
xor esi, esi
mov ebx, 0xfffffffe
mov eax, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + esi], 0
lea esi, [esi + 1]
jne 0x413c00
lea eax, [ebx + 2]
test esi, esi
jns 0x413c18
mov eax, 0xffffffff
push eax
call fcn.0040c580
add esp, 4
mov dword [edi], eax
mov ecx, dword [esp + 0x20]
lea edi, [ecx + esi]
dec edi
mov dword [esp + 0x48], 0
cmp edi, ecx
mov dword [esp + 0x18], eax
jbe 0x413a00
add ebx, eax
cmp eax, ebx
jae 0x413a00
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x413a00
lea eax, [esp + 0x48]
push eax
push edi
push ecx
mov esi, ecx
call fcn.00410a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0x18]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x18], edx
cmp edx, ebx
jae 0x413a00
add esi, eax
cmp esi, edi
mov ecx, esi
jb 0x413c50
jmp 0x413a00
jmp dword [0x449918]
jmp dword [0x449924]
lea ecx, [esp + 0xb0]
call fcn.0043cb50
jmp case.0x413a1b.23
mov edi, dword [esp + 0x3c]
jmp dword [0x449930]
push dword [esp + 0x38]
call fcn.0040c590
add esp, 4
lea ecx, [esp + 0x48]
call fcn.0040cf10
mov eax, dword [case.0x413a1b.23]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push dword [esp + 0x24]
call fcn.0040c590
add esp, 4
push dword [esp + 0x24]
call fcn.0040c590
add esp, 4
jmp dword [0x44992c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0040c590
mov eax, dword [esp + 0x6cc]
mov ecx, dword [esp + 0x6d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp], ebx
call fcn.0040c590
mov dword [esp + 0x4ec], 0
mov eax, dword [esp + 0x4f0]
mov ecx, dword [esp + 0x4ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x864]
mov ecx, dword [esp + 0x868]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp], esi
call fcn.0040c590
mov dword [esp + 0x4b4], 1
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x4bc], 0
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x8ec]
mov ecx, dword [esp + 0x8f0]
mov eax, dword [ecx + eax*4]
mov bl, 1
jmp eax
mov dword [esp], ebx
call fcn.0040c690
mov ecx, eax
and ecx, 1
or eax, 1
add ecx, eax
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x6ec]
mov ecx, dword [esp + 0x6f0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x5ec]
mov ecx, dword [esp + 0x5f0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x5c4], 1
mov eax, dword [esp + 0x5c8]
mov ecx, dword [esp + 0x5c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x400]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
shl esi, 1
mov eax, edi
add eax, esi
mov dword [esp + 0x35c], eax
mov esi, dword [esp + 0x144]
mov dword [esp], esi
call fcn.0040c690
mov edx, esi
add edx, eax
mov dword [esp + 0x350], 0
mov ebx, edi
mov edi, esi
mov esi, dword [esp + 0x35c]
mov eax, esi
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edi
sub ecx, edx
setb cl
and al, cl
test al, 1
jne 0x415954
jmp 0x415993
cmp byte [edi], 0
je 0x415993
lea eax, [esp + 0x350]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0x364], edx
call fcn.00410a70
mov edx, dword [esp + 0x364]
add edi, eax
mov eax, dword [esp + 0x350]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x415939
call fcn.0040df50
call fcn.0040df50
mov word [ebx], 0
mov eax, dword [esp + 0x6ac]
mov ecx, dword [esp + 0x6b0]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
jmp eax
mov edi, dword [esp + 0x934]
mov al, byte [esp + 0x1d0]
mov byte [esp + 0x25c], al
mov byte [esp + 0x1d4], 0xb
mov byte [esp + 0x1d5], 0xa
mov byte [esp + 0x1d6], 0x75
mov byte [esp + 0x1d7], 0x74
mov eax, 4
mov byte [esp + eax + 0x1d4], 0
add eax, 1
cmp eax, 5
jne 0x4159f3
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xb8]
cmp eax, 5
jae 0x415a5b
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb8]
movzx ecx, byte [esp + ecx + 0x1d4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419800
mov ecx, dword [esp + 0xb8]
mov byte [esp + ecx + 0x1d4], al
mov eax, dword [esp + 0xb8]
inc eax
mov dword [esp + 0xb8], eax
jmp 0x415a0e
mov esi, dword [esp + 0x1d4]
xor ebx, ebx
cmp ebx, dword [0x44f754]
jb 0x415a6e
jmp 0x415abe
mov eax, dword [0x44f758]
cmp dword [eax + ebx*8], 0x625b6034
sete cl
test cl, 1
jne 0x415a84
jmp 0x415ab2
mov eax, dword [eax + ebx*8 + 4]
cmp eax, esi
je 0x415ab2
mov byte [esp + 0x47], cl
mov ecx, dword [0x44f75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], edi
call fcn.0043f5f0
mov cl, byte [esp + 0x47]
test cl, 1
je 0x415ab9
jmp 0x415abe
add ebx, 1
jmp 0x415a64
call fcn.0040df50
call fcn.0040df50
mov eax, dword [esp + 0x594]
mov ecx, dword [esp + 0x598]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp eax
test ebx, ebx
setne al
mov byte [esp + 0x4f], al
movzx eax, al
mov dword [esp + 0x6f4], eax
mov eax, dword [esp + 0x6f8]
mov ecx, dword [esp + 0x6f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x134], 0
jmp eax
call fcn.0040df50
lea eax, [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100002
call fcn.00442d00
mov edi, eax
xor eax, eax
test edi, edi
setns cl
mov dword [esp + 0x79c], 1
mov edx, dword [esp + 0x7a0]
mov esi, dword [esp + 0x79c]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040df50
mov dword [esp + 0x50c], 1
mov eax, dword [esp + 0x510]
mov ecx, dword [esp + 0x50c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x634], eax
mov eax, dword [esp + 0x638]
mov ecx, dword [esp + 0x634]
mov eax, dword [eax + ecx*4]
xor esi, esi
mov dword [esp + 0x2c], 0
jmp eax
call fcn.0040df50
mov dword [esp + 0x66c], 1
mov eax, dword [esp + 0x670]
mov ecx, dword [esp + 0x66c]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, dword [esp + 0x944]
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x264], al
mov byte [esp + 0x1bc], 0xb
mov byte [esp + 0x1bd], 0xa
mov byte [esp + 0x1be], 0x75
mov byte [esp + 0x1bf], 0x74
mov eax, 4
mov byte [esp + eax + 0x1bc], 0
add eax, 1
cmp eax, 5
jne 0x415c28
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 5
jae 0x415c90
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x1bc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419800
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x1bc], al
mov eax, dword [esp + 0xb0]
inc eax
mov dword [esp + 0xb0], eax
jmp 0x415c43
mov esi, dword [esp + 0x1bc]
xor ebx, ebx
cmp ebx, dword [0x44f754]
jb 0x415ca3
jmp 0x415cf3
mov eax, dword [0x44f758]
cmp dword [eax + ebx*8], 0x625b6034
sete cl
test cl, 1
jne 0x415cb9
jmp 0x415ce7
mov eax, dword [eax + ebx*8 + 4]
cmp eax, esi
je 0x415ce7
mov byte [esp + 0x46], cl
mov ecx, dword [0x44f75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], edi
call fcn.0043f5f0
mov cl, byte [esp + 0x46]
test cl, 1
je 0x415cee
jmp 0x415cf3
add ebx, 1
jmp 0x415c99
call fcn.0040df50
call fcn.0040df50
mov eax, dword [esp + 0x544]
mov ecx, dword [esp + 0x548]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00419780
add eax, 0x1d
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415d40
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov esi, eax
mov al, byte [esp + 0x150]
mov byte [esp + 0x228], al
mov byte [esp + 0xa4], 2
mov byte [esp + 0xa5], 0x2b
mov byte [esp + 0xa6], 0x2a
mov byte [esp + 0xa7], 0x29
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0x10c]
cmp eax, 4
jae 0x415dd0
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x10c]
movzx ecx, byte [esp + ecx + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419b80
mov ecx, dword [esp + 0x10c]
mov byte [esp + ecx + 0xa4], al
mov eax, dword [esp + 0x10c]
inc eax
mov dword [esp + 0x10c], eax
jmp 0x415d83
mov al, byte [esp + 0x14c]
mov byte [esp + 0x22c], al
mov byte [esp + 0x270], 0x74
mov byte [esp + 0x271], 0xe7
mov byte [esp + 0x272], 0x77
mov byte [esp + 0x273], 0xe1
mov byte [esp + 0x274], 0x69
mov byte [esp + 0x275], 0xe3
mov byte [esp + 0x276], 0x7d
mov byte [esp + 0x277], 0xdd
mov byte [esp + 0x278], 0x4e
mov byte [esp + 0x279], 0xdf
mov byte [esp + 0x27a], 0x53
mov byte [esp + 0x27b], 0xd9
mov byte [esp + 0x27c], 0x40
mov byte [esp + 0x27d], 0xdb
mov byte [esp + 0x27e], 0x45
mov byte [esp + 0x27f], 0xd5
mov byte [esp + 0x280], 0x40
mov byte [esp + 0x281], 0xd7
mov byte [esp + 0x282], 0x42
mov byte [esp + 0x283], 0xd1
mov byte [esp + 0x284], 0xb0
mov byte [esp + 0x285], 0xd3
mov byte [esp + 0x286], 0x85
mov byte [esp + 0x287], 0xcd
mov byte [esp + 0x288], 0x53
mov byte [esp + 0x289], 0xcf
mov byte [esp + 0x28a], 0x46
mov byte [esp + 0x28b], 0xc9
mov byte [esp + 0x28c], 0x57
mov byte [esp + 0x28d], 0xcb
mov byte [esp + 0x28e], 0x57
mov byte [esp + 0x28f], 0xc5
mov byte [esp + 0x290], 0xa4
mov byte [esp + 0x291], 0xc7
mov byte [esp + 0x292], 0x64
mov byte [esp + 0x293], 0xc1
mov byte [esp + 0x294], 0x4b
mov byte [esp + 0x295], 0xc3
mov byte [esp + 0x296], 0x52
mov byte [esp + 0x297], 0x3d
mov byte [esp + 0x298], 0x9f
mov byte [esp + 0x299], 0x3f
mov byte [esp + 0x29a], 0xb3
mov byte [esp + 0x29b], 0x39
mov byte [esp + 0x29c], 0xb5
mov byte [esp + 0x29d], 0x3b
mov byte [esp + 0x29e], 0x5a
mov byte [esp + 0x29f], 0x35
mov byte [esp + 0x2a0], 0x63
mov byte [esp + 0x2a1], 0x37
mov byte [esp + 0x2a2], 0xa8
mov byte [esp + 0x2a3], 0x31
mov byte [esp + 0x2a4], 0x50
mov byte [esp + 0x2a5], 0x33
mov byte [esp + 0x2a6], 0x50
mov byte [esp + 0x2a7], 0x2d
mov byte [esp + 0x2a8], 0x2c
mov byte [esp + 0x2a9], 0x2f
mov eax, 0x3a
mov byte [esp + eax + 0x270], 0
add eax, 1
cmp eax, 0x3f
jne 0x415fb3
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x108]
cmp eax, 0x3f
jae 0x41601b
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x108]
movzx ecx, byte [esp + ecx + 0x270]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419b50
mov ecx, dword [esp + 0x108]
mov byte [esp + ecx + 0x270], al
mov eax, dword [esp + 0x108]
inc eax
mov dword [esp + 0x108], eax
jmp 0x415fce
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0040f100
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f100
lea ecx, [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f100
mov eax, dword [esp + 0x65c]
mov ecx, dword [esp + 0x660]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x49]
mov bl, al
and ebx, 1
mov dword [esp + 0x7dc], ebx
mov eax, dword [esp + 0x7e0]
mov ecx, dword [esp + 0x7dc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x38]
jmp eax
call fcn.0040df50
mov dword [esp + 0x8ac], 0
mov eax, dword [esp + 0x8b0]
mov ecx, dword [esp + 0x8ac]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x30]
jmp eax
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4b0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x6e4], 0
mov eax, dword [esp + 0x6e8]
mov ecx, dword [esp + 0x6e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov cl, byte [esp + 0x4e]
mov al, cl
and eax, 1
mov dword [esp + 0x6b4], eax
mov eax, dword [esp + 0x6b8]
mov ecx, dword [esp + 0x6b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp], ebx
call fcn.0040c590
mov dword [esp + 0x60c], 1
mov eax, dword [esp + 0x610]
mov ecx, dword [esp + 0x60c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x6a4], 0
mov eax, dword [esp + 0x6a8]
mov ecx, dword [esp + 0x6a4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x534], 1
mov eax, dword [esp + 0x538]
mov ecx, dword [esp + 0x534]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov ecx, dword [esp + 0x304]
xor ecx, 1
mov edx, ebx
xor edx, 2
xor eax, eax
or ecx, edx
sete cl
mov dword [esp + 0x63c], 0
mov edx, dword [esp + 0x640]
mov esi, dword [esp + 0x63c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x4a0]
mov eax, dword [ecx + eax*4]
jmp eax
jnp 0x41624d
push esp
pop esp
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3f0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x70c], 0
mov eax, dword [esp + 0x710]
mov ecx, dword [esp + 0x70c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x144]
jmp eax
call fcn.0040df50
mov dword [esp + 0x90c], 1
mov eax, dword [esp + 0x910]
or dword [eax], eax
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x9102484], cl
add byte [eax], al
mov ecx, dword [esp + 0x90c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x7c4], 0
mov eax, dword [esp + 0x7c8]
mov ecx, dword [esp + 0x7c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
xor eax, eax
mov ecx, ebx
sub ecx, edi
setb cl
mov dword [esp + 0x84c], 1
mov edx, dword [esp + 0x850]
mov esi, dword [esp + 0x84c]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0040df50
mov dword [esp + 0x6c4], 1
mov eax, dword [esp + 0x6c8]
mov ecx, dword [esp + 0x6c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x160]
mov byte [esp + 0x214], al
mov byte [esp + 0x2c0], 0x76
mov byte [esp + 0x2c1], 0x5b
mov byte [esp + 0x2c2], 0xaa
mov byte [esp + 0x2c3], 0x59
mov byte [esp + 0x2c4], 0xad
mov byte [esp + 0x2c5], 0x5f
mov byte [esp + 0x2c6], 0x69
mov byte [esp + 0x2c7], 0x5d
mov byte [esp + 0x2c8], 0x5c
mov byte [esp + 0x2c9], 0x53
mov eax, 0xa
mov byte [esp + eax + 0x2c0], 0
add eax, 1
cmp eax, 0xd
jne 0x41633c
mov dword [esp + 0xf4], 0
mov eax, dword [esp + 0xf4]
cmp eax, 0xd
jae 0x4163a4
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
movzx ecx, byte [esp + ecx + 0x2c0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419aa0
mov ecx, dword [esp + 0xf4]
mov byte [esp + ecx + 0x2c0], al
mov eax, dword [esp + 0xf4]
inc eax
mov dword [esp + 0xf4], eax
jmp 0x416357
lea eax, [esp + 0x2c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00419730
mov eax, dword [esp + 0x7d4]
mov ecx, dword [esp + 0x7d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x190]
mov byte [esp + 0x200], al
mov byte [esp + 0x120], 0xc0
mov byte [esp + 0x121], 0x31
mov eax, 2
mov byte [esp + eax + 0x120], 0
add eax, 1
cmp eax, 4
jne 0x4163f1
mov byte [esp + 0x37], dl
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe0]
cmp eax, 4
jae 0x41645d
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe0]
movzx ecx, byte [esp + ecx + 0x120]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419960
mov ecx, dword [esp + 0xe0]
mov byte [esp + ecx + 0x120], al
mov eax, dword [esp + 0xe0]
inc eax
mov dword [esp + 0xe0], eax
jmp 0x416410
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00404520
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0x898]
mov ecx, dword [esp + 0x894]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x8fc]
mov ecx, dword [esp + 0x900]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
call fcn.0040df50
xor eax, eax
mov ecx, edi
sub ecx, 1
sete cl
mov dword [esp + 0x80c], 0
mov edx, dword [esp + 0x810]
mov esi, dword [esp + 0x80c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x12c]
mov word [eax], 0
mov al, byte [esp + 0x16c]
mov byte [esp + 0x208], al
mov byte [esp + 0x170], 0x7d
mov byte [esp + 0x171], 0x19
mov byte [esp + 0x172], 0x4a
mov byte [esp + 0x173], 0x1f
mov byte [esp + 0x174], 0x59
mov byte [esp + 0x175], 0x1d
mov byte [esp + 0x176], 0x2f
mov byte [esp + 0x177], 0x63
mov byte [esp + 0x178], 0x30
mov byte [esp + 0x179], 0x61
mov byte [esp + 0x17a], 3
mov byte [esp + 0x17b], 0x67
mov byte [esp + 0x17c], 0x38
mov byte [esp + 0x17d], 0x65
mov byte [esp + 0x17e], 0x6a
mov byte [esp + 0x17f], 0x6b
mov eax, 0x10
mov byte [esp + eax + 0x170], 0
add eax, 1
cmp eax, 0x12
jne 0x4165d7
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xe8]
cmp eax, 0x12
jae 0x41663f
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe8]
movzx ecx, byte [esp + ecx + 0x170]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004199d0
mov ecx, dword [esp + 0xe8]
mov byte [esp + ecx + 0x170], al
mov eax, dword [esp + 0xe8]
inc eax
mov dword [esp + 0xe8], eax
jmp 0x4165f2
lea eax, [esp + 0x170]
mov dword [esp + 4], eax
lea ebx, [esp + 0xa1c]
mov dword [esp], ebx
call fcn.0040f100
lea ecx, [esp + 0x9dc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f100
mov edi, eax
sub edi, ebx
sar edi, 1
mov eax, dword [0x44f750]
lea esi, [esp + 0x31c]
mov dword [esp + 0x14], esi
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
sub esp, 0x18
mov eax, dword [esp + 0x31c]
add eax, 4
add eax, eax
mov ecx, 0xffffffff
jb 0x4166bb
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov edx, dword [0x44f750]
mov ecx, dword [esp + 0x31c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call edx
sub esp, 0x18
xor eax, eax
mov edi, dword [esp + 0xa0]
test edi, edi
sete al
mov dword [esp + 0x83c], eax
mov eax, dword [esp + 0x840]
mov ecx, dword [esp + 0x83c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x914]
mov ecx, dword [esp + 0x918]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x590]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x87c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x38]
jmp eax
call fcn.0040df50
mov dword [esp + 0x55c], 0
mov eax, dword [esp + 0x560]
mov ecx, dword [esp + 0x55c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0x798]
mov ecx, dword [esp + 0x794]
mov eax, dword [eax + ecx*4]
jmp eax
insb byte es:[edi], dx
mov bl, 0xff
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x1a0]
mov byte [esp + 0x1f0], al
mov byte [esp + 0x330], 0xf
mov byte [esp + 0x331], 0x6b
mov eax, 2
mov byte [esp + eax + 0x330], 0
add eax, 1
cmp eax, 7
jne 0x4167f9
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xd0]
cmp eax, 7
jae 0x416861
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
movzx ecx, byte [esp + ecx + 0x330]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419890
mov ecx, dword [esp + 0xd0]
mov byte [esp + ecx + 0x330], al
mov eax, dword [esp + 0xd0]
inc eax
mov dword [esp + 0xd0], eax
jmp 0x416814
lea eax, [esp + 0x330]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 3
call fcn.004047a0
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x8d4], ecx
mov eax, dword [esp + 0x8d8]
mov ecx, dword [esp + 0x8d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov edx, dword [esp + 0xa0]
mov ecx, edx
sub ecx, 1
sete al
mov dword [esp + 0x71c], eax
mov eax, dword [esp + 0x720]
mov ecx, dword [esp + 0x71c]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x30]
jmp eax
mov eax, dword [esp + 0x8b4]
mov ecx, dword [esp + 0x8b8]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
jmp eax
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x204], al
mov byte [esp + 0x188], 0x8c
mov byte [esp + 0x189], 0x8b
mov byte [esp + 0x18a], 0x88
mov byte [esp + 0x18b], 8
mov eax, 4
mov byte [esp + eax + 0x188], 0
add eax, 1
cmp eax, 5
jne 0x41692d
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xe4]
cmp eax, 5
jae 0x416995
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe4]
movzx ecx, byte [esp + ecx + 0x188]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004199a0
mov ecx, dword [esp + 0xe4]
mov byte [esp + ecx + 0x188], al
mov eax, dword [esp + 0xe4]
inc eax
mov dword [esp + 0xe4], eax
jmp 0x416948
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.0040cc00
call fcn.0040cc10
mov edi, eax
and edi, 0xf
or edi, 0x10
mov eax, dword [esp + 0x85c]
mov ecx, dword [esp + 0x860]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x9dc]
mov dword [esp + 0x12c], ecx
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x440]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x7cc], 1
mov eax, dword [esp + 0x7d0]
mov ecx, dword [esp + 0x7cc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x69c], 1
mov eax, dword [esp + 0x6a0]
mov ecx, dword [esp + 0x69c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x47c], 1
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x47c]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
sub edx, 2
sete al
mov dword [esp + 0x5d4], eax
mov eax, dword [esp + 0x5d8]
mov ecx, dword [esp + 0x5d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004197c0
mov ebx, eax
mov eax, ebx
and eax, 1
shl eax, 1
xor ebx, 1
add ebx, eax
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416ab1
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov esi, dword [esp + 0x3c]
mov edi, esi
add edi, dword [esp + 0x124]
shl ebx, 1
mov dword [esp + 0x30c], eax
mov edx, eax
add edx, ebx
cmp edi, 0
jne 0x416ae8
mov dword [esp], esi
mov edi, edx
call fcn.0040c690
mov edx, edi
mov edi, esi
add edi, eax
mov dword [esp + 0x348], 0
mov ebx, dword [esp + 0x30c]
mov eax, edx
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, esi
sub ecx, edi
setb cl
and al, cl
test al, 1
jne 0x416b15
jmp 0x416b54
cmp byte [esi], 0
je 0x416b54
lea eax, [esp + 0x348]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0x368], edx
call fcn.00410a70
mov edx, dword [esp + 0x368]
add esi, eax
mov eax, dword [esp + 0x348]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x416afa
mov word [ebx], 0
mov eax, dword [esp + 0x124]
add eax, 0x54b0f092
sub eax, 0x54b0f07a
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416b83
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov esi, eax
mov al, byte [esp + 0x40]
mov byte [esp + 0x234], al
mov byte [esp + 0x50], 0x70
mov byte [esp + 0x51], 1
mov byte [esp + 0x52], 0x6d
mov byte [esp + 0x53], 3
mov byte [esp + 0x54], 0x73
mov byte [esp + 0x55], 5
mov byte [esp + 0x56], 0x63
mov byte [esp + 0x57], 7
mov byte [esp + 0x58], 0x7a
mov byte [esp + 0x59], 9
mov byte [esp + 0x5a], 0x79
mov byte [esp + 0x5b], 0xb
mov byte [esp + 0x5c], 0x64
mov byte [esp + 0x5d], 0xd
mov byte [esp + 0x5e], 0x6b
mov byte [esp + 0x5f], 0xf
mov byte [esp + 0x60], 0x7c
mov byte [esp + 0x61], 0x11
mov byte [esp + 0x62], 0x7e
mov byte [esp + 0x63], 0x13
mov byte [esp + 0x64], 0x34
mov byte [esp + 0x65], 0x15
mov byte [esp + 0x66], 0x3b
mov byte [esp + 0x67], 0x17
mov byte [esp + 0x68], 0x7d
mov byte [esp + 0x69], 0x19
mov byte [esp + 0x6a], 0x62
mov byte [esp + 0x6b], 0x1b
mov byte [esp + 0x6c], 0x79
mov byte [esp + 0x6d], 0x1d
mov byte [esp + 0x6e], 0x7d
mov byte [esp + 0x6f], 0x1f
mov byte [esp + 0x70], 0
mov byte [esp + 0x71], 0x21
mov byte [esp + 0x72], 0x40
mov byte [esp + 0x73], 0x23
mov byte [esp + 0x74], 0x5d
mov byte [esp + 0x75], 0x25
mov byte [esp + 0x76], 0x56
mov byte [esp + 0x77], 0x27
mov byte [esp + 0x78], 0x49
mov byte [esp + 0x79], 0x29
mov byte [esp + 0x7a], 0x59
mov byte [esp + 0x7b], 0x2b
mov byte [esp + 0x7c], 0x5f
mov byte [esp + 0x7d], 0x2d
mov byte [esp + 0x7e], 0xe
mov byte [esp + 0x7f], 0x2f
mov byte [esp + 0x80], 0x30
mov byte [esp + 0x81], 0x31
mov eax, 0x32
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x30c]
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 0x38
jne 0x416ca8
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x38
jae 0x416d07
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x110]
movzx ecx, byte [esp + ecx + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419bc0
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x50], al
mov eax, dword [esp + 0x110]
inc eax
mov dword [esp + 0x110], eax
jmp 0x416cc0
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0040f100
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040f100
mov dword [esp + 0x624], 0
mov eax, dword [esp + 0x628]
mov ecx, dword [esp + 0x624]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x210], al
mov byte [esp + 0x2d0], 0x1a
mov byte [esp + 0x2d1], 0x49
mov byte [esp + 0x2d2], 0xea
mov byte [esp + 0x2d3], 0x4f
mov byte [esp + 0x2d4], 0xd0
mov byte [esp + 0x2d5], 0x4d
mov byte [esp + 0x2d6], 0xde
mov byte [esp + 0x2d7], 0x43
mov byte [esp + 0x2d8], 0x40
mov byte [esp + 0x2d9], 0x41
mov eax, 0xa
mov ebx, dword [esp + 0x38]
mov byte [esp + eax + 0x2d0], 0
add eax, 1
cmp eax, 0x10
jne 0x416da8
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0xf0]
cmp eax, 0x10
jae 0x416e10
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf0]
movzx ecx, byte [esp + ecx + 0x2d0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419a60
mov ecx, dword [esp + 0xf0]
mov byte [esp + ecx + 0x2d0], al
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0xf0], eax
jmp 0x416dc3
lea eax, [esp + 0x2d0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00419730
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x800]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, dl
and eax, 1
mov dword [esp + 0x89c], eax
mov eax, dword [esp + 0x8a0]
mov ecx, dword [esp + 0x89c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x148]
jmp eax
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x448]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x52c]
mov ecx, dword [esp + 0x530]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x814], 0
mov eax, dword [esp + 0x818]
mov ecx, dword [esp + 0x814]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x77c], 0
mov ecx, dword [esp + 0x780]
mov edx, dword [esp + 0x77c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [0x44f748]
mov dword [esp], eax
mov dword [esp + 4], 0x46483752
call fcn.00442380
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x422cf0
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
sub esp, 0x18
xor ecx, ecx
mov dword [esp + 0x138], eax
test eax, eax
setne cl
mov dword [esp + 0x584], ecx
mov eax, dword [esp + 0x588]
mov ecx, dword [esp + 0x584]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x73c], 0
mov eax, dword [esp + 0x740]
mov ecx, dword [esp + 0x73c]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x59c], ecx
mov eax, dword [esp + 0x5a0]
mov ecx, dword [esp + 0x59c]
mov eax, dword [eax + ecx*4]
jmp eax
add byte [ebx - 0x1f0077fc], cl
mov eax, dword [esp + 0x8cc]
mov ecx, dword [esp + 0x8d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x834], 0
mov eax, dword [esp + 0x838]
mov ecx, dword [esp + 0x834]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x12c]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0x848]
mov ecx, dword [esp + 0x844]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi - 0x11], edi
and al, 0x6c
jmp 0x84cd6bec
dec ecx
jp 0x416f98
wait
pop ds
xchg esi, eax
ljmp 0x2fc
cmp edi, dword [0x44f754]
jb 0x4171fb
jmp 0x41724a
mov eax, dword [0x44f758]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x417211
jmp 0x41723e
mov eax, dword [eax + edi*8 + 4]
cmp eax, esi
je 0x41723e
mov ecx, dword [0x44f75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
and al, 4
mov dword [esp + 8], 1
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
call fcn.0043f5f0
test bl, 1
je 0x417245
jmp 0x41724a
add edi, 1
jmp 0x4171f1
call fcn.0040df50
call fcn.0040df50
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x8c4]
mov ecx, dword [esp + 0x8c8]
mov eax, dword [ecx + eax*4]
jmp eax
jle 0x417224
or eax, 0x258f10bd
cmp eax, 0x3c24448b
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004197c0
mov ebx, eax
and ebx, 1
or eax, 1
add ebx, eax
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4172ba
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov edi, dword [esp + 0x3c]
mov esi, edi
add esi, dword [esp + 0x124]
shl ebx, 1
mov dword [esp + 0x308], eax
mov edx, eax
add edx, ebx
cmp esi, 0
jne 0x4172f1
mov dword [esp], edi
mov esi, edx
call fcn.0040c690
mov edx, esi
mov esi, edi
add esi, eax
mov dword [esp + 0x340], 0
mov ebx, dword [esp + 0x308]
mov eax, edx
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edi
sub ecx, esi
setb cl
and al, cl
test al, 1
jne 0x41731e
jmp 0x41735d
cmp byte [edi], 0
je 0x41735d
lea eax, [esp + 0x340]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0x36c], edx
call fcn.00410a70
mov edx, dword [esp + 0x36c]
add edi, eax
mov eax, dword [esp + 0x340]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x417303
mov word [ebx], 0
mov eax, dword [esp + 0x124]
mov ecx, eax
and ecx, 0x18
shl ecx, 1
xor eax, 0x18
add eax, ecx
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417397
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov ebx, eax
mov al, byte [esp + 0x40]
mov byte [esp + 0x230], al
mov byte [esp + 0x50], 0x70
mov byte [esp + 0x51], 1
mov byte [esp + 0x52], 0x6d
mov byte [esp + 0x53], 3
mov byte [esp + 0x54], 0x73
mov byte [esp + 0x55], 5
mov byte [esp + 0x56], 0x63
mov byte [esp + 0x57], 7
mov byte [esp + 0x58], 0x7a
mov byte [esp + 0x59], 9
mov byte [esp + 0x5a], 0x79
mov byte [esp + 0x5b], 0xb
mov byte [esp + 0x5c], 0x64
mov byte [esp + 0x5d], 0xd
mov byte [esp + 0x5e], 0x6b
mov byte [esp + 0x5f], 0xf
mov byte [esp + 0x60], 0x7c
mov byte [esp + 0x61], 0x11
mov byte [esp + 0x62], 0x7e
mov byte [esp + 0x63], 0x13
mov byte [esp + 0x64], 0x34
mov byte [esp + 0x65], 0x15
mov byte [esp + 0x66], 0x3b
mov byte [esp + 0x67], 0x17
mov byte [esp + 0x68], 0x7d
mov byte [esp + 0x69], 0x19
mov byte [esp + 0x6a], 0x62
mov byte [esp + 0x6b], 0x1b
mov byte [esp + 0x6c], 0x79
mov byte [esp + 0x6d], 0x1d
mov byte [esp + 0x6e], 0x7d
mov byte [esp + 0x6f], 0x1f
mov byte [esp + 0x70], 0
mov byte [esp + 0x71], 0x21
mov byte [esp + 0x72], 0x40
mov byte [esp + 0x73], 0x23
mov byte [esp + 0x74], 0x5d
mov byte [esp + 0x75], 0x25
mov byte [esp + 0x76], 0x56
mov byte [esp + 0x77], 0x27
mov byte [esp + 0x78], 0x49
mov byte [esp + 0x79], 0x29
mov byte [esp + 0x7a], 0x59
mov byte [esp + 0x7b], 0x2b
mov byte [esp + 0x7c], 0x5f
mov byte [esp + 0x7d], 0x2d
mov byte [esp + 0x7e], 0xe
mov byte [esp + 0x7f], 0x2f
mov byte [esp + 0x80], 0x30
mov byte [esp + 0x81], 0x31
mov eax, 0x32
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 0x38
jne 0x4174b1
mov dword [esp + 0x114], 0
mov eax, dword [esp + 0x114]
cmp eax, 0x38
jae 0x417510
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x114]
movzx ecx, byte [esp + ecx + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419bc0
mov ecx, dword [esp + 0x114]
mov byte [esp + ecx + 0x50], al
mov eax, dword [esp + 0x114]
inc eax
mov dword [esp + 0x114], eax
jmp 0x4174c9
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0040f100
mov ecx, dword [esp + 0x308]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f100
mov eax, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
setl al
mov dword [esp + 0x5dc], eax
mov eax, dword [esp + 0x5e0]
mov ecx, dword [esp + 0x5dc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x2c]
jmp eax
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x1ec], al
mov byte [esp + 0x2f0], 0xe6
mov byte [esp + 0x2f1], 0xd5
mov byte [esp + 0x2f2], 0x42
mov eax, 3
mov byte [esp + eax + 0x2f0], 0
add eax, 1
cmp eax, 8
jne 0x4175b7
mov dword [esp + 0xcc], 0
mov eax, dword [esp + 0xcc]
cmp eax, 8
jae 0x41761f
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xcc]
movzx ecx, byte [esp + ecx + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419860
mov ecx, dword [esp + 0xcc]
mov byte [esp + ecx + 0x2f0], al
mov eax, dword [esp + 0xcc]
inc eax
mov dword [esp + 0xcc], eax
jmp 0x4175d2
lea eax, [esp + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 3
call fcn.004047a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x8dc], ecx
mov eax, dword [esp + 0x8e0]
mov ecx, dword [esp + 0x8dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x19c]
mov byte [esp + 0x1f4], al
mov byte [esp + 0x328], 0x95
mov byte [esp + 0x329], 0x19
mov eax, 2
mov byte [esp + eax + 0x328], 0
add eax, 1
cmp eax, 8
jne 0x41767e
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0xd4]
cmp eax, 8
jae 0x4176e6
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd4]
movzx ecx, byte [esp + ecx + 0x328]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004198c0
mov ecx, dword [esp + 0xd4]
mov byte [esp + ecx + 0x328], al
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd4], eax
jmp 0x417699
lea eax, [esp + 0x328]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00404520
mov cl, byte [esp + 0x198]
mov byte [esp + 0x1f8], cl
mov byte [esp + 0xa8], 0x16
mov byte [esp + 0xa9], 0xe7
mov byte [esp + 0xaa], 0x7a
mov ecx, 3
mov byte [esp + ecx + 0xa8], 0
add ecx, 1
cmp ecx, 4
jne 0x417724
mov dword [esp + 0x140], eax
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0xd8]
cmp eax, 4
jae 0x417793
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
movzx ecx, byte [esp + ecx + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004198f0
mov ecx, dword [esp + 0xd8]
mov byte [esp + ecx + 0xa8], al
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0xd8], eax
jmp 0x417746
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00404580
fnstcw word [esp + 0x12a]
movzx eax, word [esp + 0x12a]
or eax, 0xc00
mov word [esp + 0x26e], ax
fldcw word [esp + 0x26e]
fistp dword [esp + 0x388]
fldcw word [esp + 0x12a]
mov eax, dword [esp + 0x388]
mov dword [esp + 0xa0], eax
mov al, byte [esp + 0x194]
mov byte [esp + 0x1fc], al
mov byte [esp + 0x320], 0xbd
mov byte [esp + 0x321], 0x19
mov eax, 2
mov byte [esp + eax + 0x320], 0
add eax, 1
cmp eax, 5
jne 0x417808
mov dword [esp + 0xdc], 0
mov eax, dword [esp + 0xdc]
cmp eax, 5
jae 0x417870
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xdc]
movzx ecx, byte [esp + ecx + 0x320]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419930
mov ecx, dword [esp + 0xdc]
mov byte [esp + ecx + 0x320], al
mov eax, dword [esp + 0xdc]
inc eax
mov dword [esp + 0xdc], eax
jmp 0x417823
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], edi
lea eax, [esp + 0x320]
mov dword [esp + 4], eax
mov dword [esp + 0x148], esi
mov dword [esp], esi
call fcn.00404580
fnstcw word [esp + 0x128]
movzx eax, word [esp + 0x128]
or eax, 0xc00
mov word [esp + 0x26c], ax
fldcw word [esp + 0x26c]
fistp dword [esp + 0x384]
fldcw word [esp + 0x128]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x304], eax
lea esi, [esp + 0xa7c]
add esi, 0x800
mov edi, dword [esp + 0x140]
mov dword [esp], edi
call fcn.0040c690
mov edx, edi
mov edi, edx
add edi, eax
mov dword [esp + 0x358], 0
lea ebx, [esp + 0xa7c]
mov eax, esi
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edx
sub ecx, edi
setb cl
and al, cl
test al, 1
jne 0x417920
jmp 0x41795f
cmp byte [edx], 0
je 0x41795f
lea eax, [esp + 0x358]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0x140], edx
call fcn.00410a70
mov edx, dword [esp + 0x140]
add edx, eax
mov eax, dword [esp + 0x358]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x417905
call fcn.0040df50
call fcn.0040df50
mov word [ebx], 0
lea eax, [esp + 0x124]
mov dword [esp + 8], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
lea eax, [esp + 0xa7c]
mov dword [esp], eax
call fcn.0040f140
movzx eax, al
mov dword [esp + 0x8bc], eax
mov eax, dword [esp + 0x8c0]
mov ecx, dword [esp + 0x8bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
mov eax, dword [esp + 0x134]
shl eax, 1
mov esi, edi
add esi, eax
mov ebx, dword [esp + 0x318]
mov dword [esp], ebx
call fcn.0040c690
mov edx, ebx
add edx, eax
mov dword [esp + 0x34c], 0
mov eax, esi
add eax, 0xfffffffe
mov ecx, edi
sub ecx, eax
setb al
mov ecx, ebx
sub ecx, edx
setb cl
and al, cl
test al, 1
jne 0x4179fd
jmp 0x417a3c
cmp byte [ebx], 0
je 0x417a3c
lea eax, [esp + 0x34c]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0x360], edx
call fcn.00410a70
mov edx, dword [esp + 0x360]
add ebx, eax
mov eax, dword [esp + 0x34c]
mov ecx, edi
add ecx, 2
mov word [edi], ax
mov edi, ecx
jmp 0x4179e2
call fcn.0040df50
call fcn.0040df50
mov word [edi], 0
mov eax, dword [esp + 0x68c]
mov ecx, dword [esp + 0x690]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
jmp eax
call fcn.0040df50
mov dword [esp + 0x5bc], 1
mov eax, dword [esp + 0x5c0]
mov ecx, dword [esp + 0x5bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x4a]
mov bl, al
and ebx, 1
mov dword [esp + 0x664], ebx
mov eax, dword [esp + 0x668]
mov ecx, dword [esp + 0x664]
mov eax, dword [eax + ecx*4]
xor esi, esi
mov ebx, dword [esp + 0x38]
jmp eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x218], al
mov byte [esp + 0x2b8], 0x16
mov byte [esp + 0x2b9], 0xe9
mov byte [esp + 0x2ba], 0x7a
mov eax, 3
mov byte [esp + eax + 0x2b8], 0
add eax, 1
cmp eax, 8
jne 0x417ad9
mov dword [esp + 0xf8], 0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xf8]
cmp eax, 8
jae 0x417b45
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf8]
movzx ecx, byte [esp + ecx + 0x2b8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419ac0
mov ecx, dword [esp + 0xf8]
mov byte [esp + ecx + 0x2b8], al
mov eax, dword [esp + 0xf8]
inc eax
mov dword [esp + 0xf8], eax
jmp 0x417af8
lea eax, [esp + 0x2b8]
mov ecx, dword [esp + 0x148]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00404520
mov dword [esp + 0x144], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x21c], al
mov byte [esp + 0x2b0], 0x69
mov byte [esp + 0x2b1], 0x17
mov byte [esp + 0x2b2], 0xb6
mov eax, 3
mov byte [esp + eax + 0x2b0], 0
add eax, 1
cmp eax, 6
jne 0x417b91
mov dword [esp + 0xfc], 0
mov eax, dword [esp + 0xfc]
cmp eax, 6
jae 0x417bf9
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xfc]
movzx ecx, byte [esp + ecx + 0x2b0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419ae0
mov ecx, dword [esp + 0xfc]
mov byte [esp + ecx + 0x2b0], al
mov eax, dword [esp + 0xfc]
inc eax
mov dword [esp + 0xfc], eax
jmp 0x417bac
lea eax, [esp + 0x2b0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.00404520
mov ebx, eax
mov dword [esp], esi
call fcn.00419780
mov dword [esp + 0x314], eax
cmp dword [esp + 0x144], 0
setne al
mov byte [esp + 0x4e], al
movzx eax, al
mov dword [esp + 0x714], eax
mov eax, dword [esp + 0x718]
mov ecx, dword [esp + 0x714]
mov eax, dword [eax + ecx*4]
xor esi, esi
mov dword [esp + 0x318], ebx
jmp eax
call fcn.0040df50
mov dword [esp + 0x614], 1
mov eax, dword [esp + 0x618]
mov ecx, dword [esp + 0x614]
mov eax, dword [eax + ecx*4]
jmp eax
mov ah, 0x46
dec esi
sub word [ebx], dx
dec ebx
xlatb
mov dword [esp], esi
call fcn.0040c590
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x398]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call fcn.0040c690
mov ebx, esi
add ebx, eax
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.004193c0
mov edi, eax
mov dword [esp + 0x380], edi
sub edi, 0x52728776
add edi, 1
add edi, 0x52728776
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417d37
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
shl edi, 1
mov dword [esp + 0x130], eax
mov edx, eax
add edx, edi
cmp ebx, 0
jne 0x417d61
mov dword [esp], esi
mov edi, edx
call fcn.0040c690
mov edx, edi
mov ebx, esi
add ebx, eax
mov dword [esp + 0x354], 0
mov edi, esi
mov esi, dword [esp + 0x130]
mov eax, edx
add eax, 0xfffffffe
mov ecx, esi
sub ecx, eax
setb al
mov ecx, edi
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x417d90
jmp 0x417dcf
cmp byte [edi], 0
je 0x417dcf
lea eax, [esp + 0x354]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x370], edx
call fcn.00410a70
mov edx, dword [esp + 0x370]
add edi, eax
mov eax, dword [esp + 0x354]
mov ecx, esi
add ecx, 2
mov word [esi], ax
mov esi, ecx
jmp 0x417d75
call fcn.0040df50
call fcn.0040df50
mov word [esi], 0
mov eax, dword [0x44f750]
lea esi, [esp + 0x11c]
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x380]
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
sub esp, 0x18
mov ecx, dword [esp + 0x11c]
add ecx, ecx
mov eax, 0xffffffff
jb 0x417e32
mov eax, ecx
mov dword [esp], eax
call fcn.0040c580
mov edi, eax
mov eax, dword [0x44f750]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp], 0
call eax
sub esp, 0x18
mov dword [esp + 0x884], 1
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x884]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x310]
jmp eax
mov eax, dword [esp + 0x604]
mov ecx, dword [esp + 0x608]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x954]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0040c600
mov dword [esp + 0x954], 0x44
mov eax, dword [0x44f748]
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00442380
cmp eax, 0
setne cl
test cl, 1
jne 0x417f16
test cl, 1
jne 0x417f1d
xor eax, eax
lea ecx, [esp + 0x934]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x954]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x28
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x5a4], 0
mov edx, dword [esp + 0x5a8]
mov esi, dword [esp + 0x5a4]
mov edx, dword [edx + esi*4]
mov esi, dword [esp + 0x118]
jmp edx
lea eax, [esp + 0x998]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0040c600
mov dword [esp + 0x998], 0x44
mov eax, dword [0x44f748]
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00442380
cmp eax, 0
setne cl
test cl, 1
jne 0x417fe7
test cl, 1
jne 0x417fee
xor eax, eax
lea ecx, [esp + 0x944]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x998]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0
call eax
sub esp, 0x28
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x54c], ecx
mov eax, dword [esp + 0x550]
mov ecx, dword [esp + 0x54c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x4fc], eax
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x4fc]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x118]
jmp eax
call fcn.0040df50
mov dword [esp + 0x57c], 0
mov eax, dword [esp + 0x580]
mov ecx, dword [esp + 0x57c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x524], ecx
mov ecx, dword [esp + 0x528]
mov edx, dword [esp + 0x524]
mov ecx, dword [ecx + edx*4]
jmp ecx
invalid
call fcn.0040df50
mov dword [esp], ebx
call fcn.0040c690
mov esi, eax
inc esi
mov dword [esp + 0x704], 1
mov eax, dword [esp + 0x708]
mov ecx, dword [esp + 0x704]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x56c]
mov ecx, dword [esp + 0x570]
mov eax, dword [ecx + eax*4]
jmp eax
xor ebx, ebx
test esi, esi
sete byte [esp + 0x4b]
mov eax, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x4e0]
mov eax, dword [ecx + eax*4]
jmp eax
or ebp, dword [ecx]
lodsd eax, dword [esi]
sbb eax, 0xe8241c89
sbb al, byte [edi + edi*8 - 1]
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3e0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x4b]
mov bl, al
and ebx, 1
mov dword [esp + 0x4c4], ebx
mov eax, dword [esp + 0x4c8]
mov ecx, dword [esp + 0x4c4]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x38]
jmp eax
das
mov ebx, 0x848b2760
and al, 0x54
add al, 0
add byte [ebx + 0x458248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x428]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x88c], 0
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x88c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x310], esi
jmp eax
xor eax, eax
sub eax, dword [esp + 0x314]
mov ecx, 9
sub ecx, eax
add ecx, esi
xor edx, edx
sub edx, ecx
xor eax, eax
sub eax, dword [esp + 0x134]
add edx, eax
xor eax, eax
sub eax, edx
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41826d
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov dword [esp + 0x118], eax
mov al, byte [esp + 0x44]
mov byte [esp + 0x224], al
mov byte [esp + 0x88], 0xa2
mov byte [esp + 0x89], 0x3b
mov byte [esp + 0x8a], 0xa1
mov byte [esp + 0x8b], 0x39
mov byte [esp + 0x8c], 0xaa
mov byte [esp + 0x8d], 0x27
mov byte [esp + 0x8e], 0x8a
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], 0xb0
mov byte [esp + 0x91], 0x23
mov byte [esp + 0x92], 0xb6
mov byte [esp + 0x93], 0x21
mov byte [esp + 0x94], 0xfd
mov byte [esp + 0x95], 0x2f
mov byte [esp + 0x96], 0xf0
mov byte [esp + 0x97], 0x2d
mov byte [esp + 0x98], 0x2c
mov byte [esp + 0x99], 0x2b
mov eax, 0x12
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 0x18
jne 0x41831c
mov dword [esp + 0x100], 0
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x100]
cmp eax, 0x18
jae 0x418388
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x100]
movzx ecx, byte [esp + ecx + 0x88]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419b20
mov ecx, dword [esp + 0x100]
mov byte [esp + ecx + 0x88], al
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x100], eax
jmp 0x41833b
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call fcn.0040f100
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0040f100
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
mov dword [esp + 0x6dc], 1
mov eax, dword [esp + 0x6e0]
mov ecx, dword [esp + 0x6dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x408]
mov eax, dword [ecx + eax*4]
jmp eax
movsb byte es:[edi], byte [esi]
sub dword ss:[edx - 0x4f5b9031], 0xffffff89
xor al, 0x24
call fcn.0040c690
mov ebx, esi
add ebx, eax
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.004193c0
mov edi, eax
mov dword [esp + 0x37c], edi
add edi, 0x5f9a15a0
add edi, 1
sub edi, 0x5f9a15a0
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x418449
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
shl edi, 1
mov dword [esp + 0x13c], eax
mov edx, eax
add edx, edi
cmp ebx, 0
jne 0x418473
mov dword [esp], esi
mov edi, edx
call fcn.0040c690
mov edx, edi
mov ebx, esi
add ebx, eax
mov dword [esp + 0x344], 0
mov edi, esi
mov esi, dword [esp + 0x13c]
mov eax, edx
add eax, 0xfffffffe
mov ecx, esi
sub ecx, eax
setb al
mov ecx, edi
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x4184a2
jmp 0x4184e1
cmp byte [edi], 0
je 0x4184e1
lea eax, [esp + 0x344]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x374], edx
call fcn.00410a70
mov edx, dword [esp + 0x374]
add edi, eax
mov eax, dword [esp + 0x344]
mov ecx, esi
add ecx, 2
mov word [esi], ax
mov esi, ecx
jmp 0x418487
call fcn.0040df50
call fcn.0040df50
mov word [esi], 0
mov eax, dword [0x44f750]
lea esi, [esp + 0x11c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x37c]
mov dword [esp + 8], edi
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
sub esp, 0x18
mov ecx, dword [esp + 0x11c]
add ecx, ecx
mov eax, 0xffffffff
jb 0x418544
mov eax, ecx
mov dword [esp], eax
call fcn.0040c580
mov ecx, dword [0x44f750]
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp], 0
and al, 0x3c
add dword [eax], eax
add byte [ecx - 0x38fbdbbc], cl
add al, 0x24
add byte [eax], al
add byte [eax], al
call ecx
sub esp, 0x18
mov eax, dword [esp + 0x45c]
mov ecx, dword [esp + 0x460]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0x310]
jmp eax
and bl, 1
movzx eax, bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040df50
mov dword [esp + 0x62c], 1
mov eax, dword [esp + 0x630]
mov ecx, dword [esp + 0x62c]
mov eax, dword [eax + ecx*4]
jmp eax
outsd dx, dword [esi]
je 0x41856b
push 0xffffffffffffff8d
test byte [esp + edx*2], ah
or dword [eax], eax
add byte [ecx], dh
leave
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0040c600
mov dword [esp + 0x954], 0x44
mov eax, dword [0x44f748]
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00442380
cmp eax, 0
setne cl
test cl, 1
jne 0x41861b
test cl, 1
jne 0x418622
xor eax, eax
lea ecx, [esp + 0x934]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x954]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x28
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x474]
mov ecx, dword [esp + 0x478]
mov eax, dword [ecx + eax*4]
jmp eax
cdq
fiadd word [ebx + 0x4e]
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x470]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0043c6c0
mov dword [esp + 0x3c], 0
not edi
shr edi, 0x1f
mov dword [esp + 0x72c], edi
mov eax, dword [esp + 0x730]
mov ecx, dword [esp + 0x72c]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], eax
call fcn.0043c6c0
mov eax, dword [esp + 0x51c]
mov ecx, dword [esp + 0x520]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x53c], 0
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x53c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
cmp dword [esp + 0x304], 0
sete dl
mov dword [esp + 0x8a4], 1
mov eax, dword [esp + 0x8a8]
mov ecx, dword [esp + 0x8a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, edx
xor ebx, ebx
sub eax, 2
sete byte [esp + 0x4a]
mov eax, dword [esp + 0x67c]
mov ecx, dword [esp + 0x680]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esp + 0x4f]
mov al, cl
and eax, 1
mov dword [esp + 0x694], eax
mov eax, dword [esp + 0x698]
mov ecx, dword [esp + 0x694]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x2fc], 0xffffffff
mov dword [esp + 0x2f8], 0xb8797400
mov al, byte [esp + 0x244]
mov byte [esp + 0x250], al
mov byte [esp + 0x248], 0xb
mov byte [esp + 0x249], 0xa
mov byte [esp + 0x24a], 0x75
mov byte [esp + 0x24b], 0x74
mov eax, 4
mov byte [esp + eax + 0x248], 0
add eax, 1
cmp eax, 5
jne 0x41881f
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0xc4]
cmp eax, 5
jae 0x418887
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc4]
movzx ecx, byte [esp + ecx + 0x248]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419800
mov ecx, dword [esp + 0xc4]
mov byte [esp + ecx + 0x248], al
mov eax, dword [esp + 0xc4]
inc eax
mov dword [esp + 0xc4], eax
jmp 0x41883a
mov edi, dword [esp + 0x248]
xor ebx, ebx
cmp ebx, dword [0x44f754]
jb 0x41889a
jmp 0x418906
mov eax, dword [0x44f758]
cmp dword [eax + ebx*8], 0x7e28bda7
sete cl
test cl, 1
jne 0x4188b0
jmp 0x4188fa
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x4188fa
mov byte [esp + 0x4d], cl
mov ecx, dword [0x44f75c]
xor edx, edx
lea edx, [esp + 0x2f8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call fcn.0043f5f0
mov cl, byte [esp + 0x4d]
test cl, 1
je 0x418901
jmp 0x418906
add ebx, 1
jmp 0x418890
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x260], al
mov byte [esp + 0x1c8], 0xb
mov byte [esp + 0x1c9], 0xa
mov byte [esp + 0x1ca], 0x75
mov byte [esp + 0x1cb], 0x74
mov eax, 4
mov ebx, dword [esp + 0x2c]
mov byte [esp + eax + 0x1c8], 0
add eax, 1
cmp eax, 5
jne 0x41893d
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xb4]
cmp eax, 5
jae 0x4189a5
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx ecx, byte [esp + ecx + 0x1c8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419800
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx + 0x1c8], al
mov eax, dword [esp + 0xb4]
inc eax
mov dword [esp + 0xb4], eax
jmp 0x418958
mov esi, dword [esp + 0x1c8]
xor edi, edi
cmp edi, dword [0x44f754]
jb 0x4189b8
jmp 0x418a0f
mov eax, dword [0x44f758]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x4189ce
jmp 0x4189fb
mov eax, dword [eax + edi*8 + 4]
cmp eax, esi
je 0x4189fb
mov ecx, dword [0x44f75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
call fcn.0043f5f0
test bl, 1
je 0x418a06
mov ebx, dword [esp + 0x2c]
jmp 0x418a0f
add edi, 1
mov ebx, dword [esp + 0x2c]
jmp 0x4189ae
call fcn.0040df50
call fcn.0040df50
mov dword [esp + 0x574], 1
mov eax, dword [esp + 0x578]
mov ecx, dword [esp + 0x574]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x30]
jmp eax
mov eax, dword [esp + 0x5f4]
mov ecx, dword [esp + 0x5f8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], 0
jmp eax
call fcn.0040df50
mov dword [esp + 0x91c], 0
mov eax, dword [esp + 0x920]
mov ecx, dword [esp + 0x91c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x904], 0
mov eax, dword [esp + 0x908]
mov ecx, dword [esp + 0x904]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [esp + 0x37], dl
call fcn.0040df50
mov dword [esp + 0x644], 1
mov eax, dword [esp + 0x648]
mov ecx, dword [esp + 0x644]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x6d4], 0
mov eax, dword [esp + 0x6d8]
mov ecx, dword [esp + 0x6d4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x7e4], 0
mov eax, dword [esp + 0x7e8]
mov ecx, dword [esp + 0x7e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call fcn.0040c590
mov eax, dword [esp + 0x874]
mov ecx, dword [esp + 0x878]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
call fcn.0040cc10
mov ecx, eax
mov edx, 0x38e38e39
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx ecx, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov eax, esi
add eax, 2
mov word [esi], cx
mov ecx, ebx
inc ecx
mov dword [esp + 0x82c], 0
mov edx, dword [esp + 0x830]
mov esi, dword [esp + 0x82c]
mov edx, dword [edx + esi*4]
mov esi, dword [esp + 0x12c]
jmp edx
inc ebp
inc eax
int 0x52
dec eax
xchg ch, bh
out dx, al
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x438]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
xor eax, eax
test ebx, ebx
sete cl
mov dword [esp + 0x504], 1
mov edx, dword [esp + 0x508]
mov esi, dword [esp + 0x504]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x734]
mov ecx, dword [esp + 0x738]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esp + 0x37]
mov al, cl
and eax, 1
mov dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x5b8]
mov ecx, dword [esp + 0x5b4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x684]
mov ecx, dword [esp + 0x688]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], 0
mov dword [esp + 0xa0], 0
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x118]
jmp eax
mov eax, dword [esp + 0x7bc]
mov ecx, dword [esp + 0x7c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x494]
mov ecx, dword [esp + 0x498]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x20c], al
mov byte [esp + 0x2e0], 0xbe
mov byte [esp + 0x2e1], 0x61
mov byte [esp + 0x2e2], 0xc7
mov byte [esp + 0x2e3], 0x63
mov byte [esp + 0x2e4], 0xec
mov byte [esp + 0x2e5], 0x65
mov byte [esp + 0x2e6], 0xc3
mov byte [esp + 0x2e7], 0x67
mov byte [esp + 0x2e8], 0x58
mov byte [esp + 0x2e9], 0x59
mov eax, 0xa
mov byte [esp + eax + 0x2e0], 0
add eax, 1
cmp eax, 0x10
jne 0x418ccf
mov dword [esp + 0xec], 0
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0xec]
cmp eax, 0x10
jae 0x418d3b
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xec]
movzx ecx, byte [esp + ecx + 0x2e0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419a20
mov ecx, dword [esp + 0xec]
mov byte [esp + ecx + 0x2e0], al
mov eax, dword [esp + 0xec]
inc eax
mov dword [esp + 0xec], eax
jmp 0x418cee
lea eax, [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00419730
mov eax, dword [esp + 0x81c]
mov ecx, dword [esp + 0x820]
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
call fcn.0040df50
mov dword [esp + 0x564], 0
mov eax, dword [esp + 0x568]
mov ecx, dword [esp + 0x564]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4e4]
mov ecx, dword [esp + 0x4e8]
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
call fcn.0040df50
mov dword [esp + 0x924], 1
mov eax, dword [esp + 0x928]
mov ecx, dword [esp + 0x924]
mov eax, dword [eax + ecx*4]
jmp eax
inc eax
out dx, eax
add al, 0xaa
jne 0x418ed0
cdq
pop es
mov dword [esp], ebx
call fcn.0040c590
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x314]
add eax, 0xfb971776
sub eax, 0xfb97176d
add eax, esi
add eax, dword [esp + 0x134]
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov ebx, dword [esp + 0x2c]
jne 0x418ea7
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c580
mov edi, eax
mov al, byte [esp + 0x44]
mov byte [esp + 0x220], al
mov byte [esp + 0x88], 0xa2
mov byte [esp + 0x89], 0x3b
mov byte [esp + 0x8a], 0xa1
mov byte [esp + 0x8b], 0x39
add byte [eax], al
add byte [ecx - 0x74db7b3a], ah
add byte [eax], al
add byte [ecx], bh
mov byte [esp + 0x8c], 0xaa
mov byte [esp + 0x8d], 0x27
mov byte [esp + 0x8e], 0x8a
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], 0xb0
mov byte [esp + 0x91], 0x23
mov byte [esp + 0x92], 0xb6
mov byte [esp + 0x93], 0x21
mov byte [esp + 0x94], 0xfd
mov byte [esp + 0x95], 0x2f
mov byte [esp + 0x96], 0xf0
mov byte [esp + 0x97], 0x2d
mov byte [esp + 0x98], 0x2c
mov byte [esp + 0x99], 0x2b
mov eax, 0x12
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 0x18
jne 0x418f51
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x104]
cmp eax, 0x18
jae 0x418fb9
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x104]
movzx ecx, byte [esp + ecx + 0x88]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419b20
mov ecx, dword [esp + 0x104]
mov byte [esp + ecx + 0x88], al
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x104], eax
jmp 0x418f6c
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0040f100
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0040f100
mov word [eax], 0x22
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x410]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
jmp eax
call fcn.0040df50
mov dword [esp + 0x6bc], 0
mov eax, dword [esp + 0x6c0]
mov ecx, dword [esp + 0x6bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, dword [esp + 0x824]
mov esi, dword [esp + 0x828]
mov edx, dword [esi + edx*4]
mov ebx, ecx
mov dword [esp + 0x12c], eax
jmp edx
mov eax, dword [esp + 0x654]
mov ecx, dword [esp + 0x658]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x724]
mov ecx, dword [esp + 0x728]
mov ecx, dword [ecx + eax*4]
mov eax, 4
xor esi, esi
mov edi, dword [esp + 0x30]
jmp ecx
call fcn.0040df50
mov dword [esp + 0x5ac], 0
mov eax, dword [esp + 0x5b0]
mov ecx, dword [esp + 0x5ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0x124]
mov eax, dword [esp + 0x78c]
mov ecx, dword [esp + 0x790]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100002
call fcn.00442d00
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x430]
mov eax, dword [ecx + eax*4]
jmp eax
sub dword [ecx + 0x2767a932], edx
jp 0x41911d
mov dword [esp], ebx
call fcn.0040c690
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x418]
mov eax, dword [ecx + eax*4]
jmp eax
mov word [eax + ebx], fs
add al, 0
add byte [ebx - 0x1f007efc], cl
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.00404810
mov esi, eax
mov al, byte [esp + 0x1a8]
mov byte [esp + 0x1e8], al
mov byte [esp + 0x338], 0x87
mov byte [esp + 0x339], 0xb
mov eax, 2
mov byte [esp + eax + 0x338], 0
add eax, 1
cmp eax, 8
jne 0x419159
mov dword [esp + 0xc8], 0
mov eax, dword [esp + 0xc8]
cmp eax, 8
jae 0x4191c1
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc8]
movzx ecx, byte [esp + ecx + 0x338]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419830
mov ecx, dword [esp + 0xc8]
mov byte [esp + ecx + 0x338], al
mov eax, dword [esp + 0xc8]
inc eax
mov dword [esp + 0xc8], eax
jmp 0x419174
lea eax, [esp + 0x338]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 2
call fcn.004047a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x8e4], ecx
mov eax, dword [esp + 0x8e8]
mov ecx, dword [esp + 0x8e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0x5cc], eax
mov eax, dword [esp + 0x5d0]
mov ecx, dword [esp + 0x5cc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x2c]
jmp eax
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x558]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, 0xad5341d4
mov dword [0xcee822de], eax
cmp edi, edi
dec dword [ecx - 0x71c6453f]
jecxz 0x419281
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx eax, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov word [esi], ax
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x450]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x4f4], 1
mov eax, dword [esp + 0x4f8]
inc edi
test byte [esp + esi*8], ah
add al, 0
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x4f82484], cl
add byte [eax], al
mov ecx, dword [esp + 0x4f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x808]
mov ecx, dword [esp + 0x804]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df50
mov dword [esp + 0x4cc], 0
mov eax, dword [esp + 0x4d0]
mov ecx, dword [esp + 0x4cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x774]
mov edx, dword [esp + 0x778]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ebx, ebx
mov eax, dword [esp + 0xa0]
sub eax, 2
sete byte [esp + 0x49]
mov eax, dword [esp + 0x7f4]
mov ecx, dword [esp + 0x7f8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x6fc]
mov ecx, dword [esp + 0x700]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x318]
jmp eax
mov dword [esp + 0x61c], 0
mov eax, dword [esp + 0x620]
mov ecx, dword [esp + 0x61c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [ecx + eax*4]
jmp eax
cmp byte [ecx], al
and bh, byte [edx]
inc ecx
add al, bl
cmp byte [ecx], al
xchg edx, eax
cmp al, 65
add byte [ecx], ah
fdivr dword [eax]
inc ecx
add byte [edx + 0x2100413c], dl
cmp dword [ecx], eax
cmp byte [ecx], al
and dword [ecx], edi
inc ecx
add dl, dh
cmp byte [ecx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xchg edx, eax
cmp al, 65
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x200413c], bl
dec eax
inc ecx
add bl, bl
dec ecx
inc ecx
add bh, ah
dec ecx
inc ecx
add bl, bl
dec ecx
inc ecx
add byte [edx], al
dec eax
inc ecx
add byte [eax + ecx*2], cl
inc ecx
add byte [eax], bl
dec eax
inc ecx
add byte [eax], dh
dec eax
inc ecx
add byte [eax], dh
dec eax
inc ecx
add byte [eax + 0x1e], dl
inc ecx
add byte [eax], dh
dec eax
inc ecx
add byte [edx + 0x41], al
add byte [edi], al
mov es, word [ecx]
xchg dword [esi - 0x75a9ffbf], eax
inc ecx
add byte [edi], bl
inc ecx
add byte [edi - 0x65ffbe7a], al
xchg byte [ecx], al
jns 0x4498f0
inc ecx
add byte [esp - 0x7586ffbf], dh
inc ecx
add byte [esi], dh
push edi
inc ecx
add byte [eax], ch
xchg ecx, eax
inc ecx
add byte [esi - 0x73ffbe91], bl
jne 0x4499c0
add byte [esi - 0x29ffbe91], bl
inc ecx
add byte [ebx + 0x76], bl
inc ecx
add byte [edi + 0x72], ah
inc ecx
add ah, cl
push 0x609e0041
inc ecx
add byte [edi - 0x79], bl
inc ecx
add dl, bh
outsd dx, dword [esi]
inc ecx
add byte [edi - 0x79], bl
inc ecx
add byte [edx], bh
outsb dx, byte [esi]
inc ecx
add byte [edx + ecx*4 + 0x63ce0041], bl
inc ecx
add dl, bh
push 0x82050041
inc ecx
add bh, ch
jl 0x4499fc
add cl, bh
add dword [ecx], 0xffffffef
out dx, eax
jl 0x449a04
add byte [edi + 0x41], al
add byte [edi], dl
mov eax, dword [ecx]
aad 0x56
inc ecx
add byte [edx - 0x4fffbe9e], cl
add dword [ecx], case.0x413a1b.60
fld xword [edi + 0x41]
add byte [eax], bh
inc ecx
add byte [ecx - 0x5effbe91], dh
outsb dx, byte [esi]
inc ecx
add byte [esp + ecx*4 + 0x41], ch
add byte [ecx], bh
mov eax, dword [ecx]
xor eax, 0x27004192
nop
inc ecx
add byte [ecx], bh
mov eax, dword [ecx]
leave
inc ecx
cmp dword [ebx + 0x64c90041], ecx
inc ecx
add byte [eax + 0x6e], ch
inc ecx
add byte [ebx + 0x68004192], dh
outsb dx, byte [esi]
push 0xb300416e
xchg edx, eax
inc ecx
add byte [eax + 0x6e], ch
inc ecx
add byte [ebx], ch
xchg ebx, eax
inc ecx
add byte [ecx + 0x6d], al
inc ecx
add cl, ah
mov al, byte [ecx]
xlatb
imul eax, dword [ecx], case.0x413a1b.79
xlatb
imul eax, dword [ecx], case.0x413a1b.81
fldenv [edx + 0x41]
add byte [eax + 1728070027], bl
bound eax, qword [ecx]
inc esi
mov word [ecx], es
cwde
mov eax, dword [ecx]
mov bl, 0x90
inc ecx
add byte [ebx + ebx*2], dl
inc ecx
add byte [ebx + ebx*2], dl
inc ecx
add byte [eax - 0x4effbe99], ah
xchg byte [ecx], al
cdq
nop
inc ecx
add dl, dh
add dword [ecx], case.0x413a1b.94
sbb byte [ebx + 0x6ec40041], dl
inc ecx
add byte [edi + ebp*2 + 0x41], bl
add ah, dh
lea eax, [ecx]
fisttp qword [ebx + 0x6f5c0041]
inc ecx
add byte [eax - 0x70], bl
inc ecx
add byte [ebp - 0x72ffbe98], bl
xchg dword [ecx], eax
scasb al, byte es:[edi]
jp 4496072
add bl, ah
pop edx
inc ecx
add byte [edx], bl
bound eax, qword [ecx]
or eax, 0x5004181
xchg ecx, eax
inc ecx
add byte [0x70004181], cl
xchg ebx, eax
inc ecx
add bl, ch
pushal
inc ecx
add byte [ebx + 0x57], cl
inc ecx
add byte [edi], ch
add byte [ecx], 0x70
mov es, word [ecx]
jo 0x449a40
inc ecx
add bl, al
mov al, byte [ecx]
mov edx, dword [esi + 0x41]
add byte [esi - 436190878], dh
add dword [ecx], 4
nop
inc ecx
add byte [esi], cl
push cs
popal
inc ecx
add dh, ah
add dword [ecx], 0x71
popal
inc ecx
add cl, bh
pop eax
inc ecx
add byte [0xe600416a], cl
pop eax
inc ecx
add byte [0xac00416a], cl
xchg dword [ecx], eax
adc eax, 0xad00418c
jns 4496176
add byte [edi - 0x34ffbe99], bh
pop ebx
inc ecx
add bl, cl
pop ebx
inc ecx
add byte [ebp + 0x4300417a], al
nop
inc ecx
add byte [eax], bl
pop ebp
inc ecx
add byte [ecx - 0x74], bl
inc ecx
add byte [edi + 0x57], dh
inc ecx
add byte [ebx], al
bound eax, qword [ecx]
mov bh, 0x61
inc ecx
add byte [edx - 0x48ffbea5], ah
popal
inc ecx
add byte [edi + 0x57], dh
inc ecx
add byte [eax + 0x7a004185], ch
jb 0x449b6c
add byte [ebp + 0x6a], dh
inc ecx
add byte [edx + 0x75004193], cl
push 0x41
mov dl, byte [ebx + 0x6a750041]
inc ecx
add byte [esi + 0x3b00417c], al
mov al, byte [ecx]
push 0xffffffffffffff81
inc ecx
add byte [ebx], dh
popal
inc ecx
add byte [edx - 0x7f], ch
inc ecx
add byte [esi + edi*2 + 0x75460041], dl
inc ecx
add ch, bh
xchg ecx, eax
inc ecx
add byte [ebx + 0x6a], dl
inc ecx
add bl, ch
outsb dx, byte [esi]
inc ecx
add byte [esi - 0x64ffbe80], ch
jg 0x449ba8
add byte [esi - 0x75ffbe80], ch
push edi
inc ecx
mov dl, byte [edi + 0x41]
add byte [eax + 0x62004192], ah
jp 0x449bb8
add byte [edx + 0x7a], ah
inc ecx
add al, dh
mov eax, dword [ecx]
jmp 0x449bf0
rol dword [edi + 0x70150041], 1
inc ecx
add byte [0x3b004170], dl
add dword [ecx], case.0x413a1b.181
rcr dword [eax + 0x41], cl
push 0x67
inc ecx
add bl, dl
pop eax
inc ecx
add byte [edx], ah
xchg edx, eax
inc ecx
add bl, dl
pop eax
inc ecx
add byte [ecx], bl
xchg dword [ecx], eax
out dx, al
pop ebx
inc ecx
add byte [ecx - 0x7f09ffbf], dl
inc ecx
add dh, dh
add byte [ecx], 0x8e
outsb dx, byte [esi]
inc ecx
add byte [edi + 0x5b], bh
inc ecx
add dh, bh
xchg byte [ecx], al
test al, 0x93
inc ecx
add byte [ebx - 0x57ffbe75], dh
xchg ebx, eax
test al, 0x93
inc ecx
add byte [ebp - 0x80], ah
inc ecx
add byte [ebp - 0x6e], bh
inc ecx
add byte [esi - 0x7f], cl
inc ecx
add byte [ebp - 0x72], cl
inc ecx
add byte [edx - 0x41ffbeaa], ch
lea eax, [ecx]
stosb byte es:[edi], al
push esi
inc ecx
add ch, dh
xchg edx, eax
inc ecx
add byte [ebp - 0x73], ah
inc ecx
add byte [ecx - 0xaffbe7f], cl
xchg edx, eax
inc ecx
add byte [ebx], dl
push edi
inc ecx
add al, dh
popal
inc ecx
add al, ch
push esi
inc ecx
add byte [ecx - 0x17ffbe84], ch
push esi
inc ecx
add ch, al
pushal
inc ecx
add byte [eax], dh
push 0x41
add bh, ah
push 0x68e70041
inc ecx
add byte [edx + 0x4185], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], dl
popfd
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], ah
popfd
inc ecx
add byte [eax], ah
popfd
inc ecx
add byte [eax], ah
popfd
inc ecx
add byte [edx], ah
popfd
inc ecx
add byte [edx], ah
popfd
inc ecx
add byte [0x4300419d], dh
popfd
inc ecx
add byte [edx - 0x63], dh
inc ecx
add byte [eax - 0x31ffbe62], ch
lahf
inc ecx
add dh, dl
lahf
inc ecx
add bl, ch
lahf
inc ecx
add bl, ch
lahf
inc ecx
add cl, dh
lahf
inc ecx
add ch, ah
lahf
inc ecx
add ch, ah
lahf
inc ecx
add byte [edx], bh
mov al, byte [0xa1820041]
inc ecx
add byte [edx - 0x73ffbe5f], al
mov eax, dword [0xa1a00041]
inc ecx
add byte [edi - 0x50ffbe5f], ch
mov eax, dword [0xa1af0041]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], ah
popfd
inc ecx
add byte [ebp + ebx*4 + 0x41], bh
add dl, ah
mov al, byte [0xa1920041]
inc ecx
add byte [edx + 0x110041a1], al
popfd
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], ah
popfd
inc ecx
add byte [eax], ah
popfd
inc ecx
add byte [eax], ah
popfd
inc ecx
add byte [edx], ah
popfd
inc ecx
add byte [eax], ah
popfd
inc ecx
add ch, ah
lahf
inc ecx
add byte [ebx - 0x63], al
inc ecx
add bl, ch
lahf
inc ecx
add byte [edx - 0x63], dh
inc ecx
add byte [ebp + ebx*4 + 0x41], bh
add byte [eax - 0x31ffbe62], ch
lahf
inc ecx
add byte [ebp + ebx*4 + 0x41], bh
add dh, dl
lahf
inc ecx
add bl, ch
lahf
inc ecx
add cl, dh
lahf
inc ecx
add ch, ah
lahf
inc ecx
add dl, ah
mov al, byte [0xa03a0041]
inc ecx
add dl, ah
mov al, byte [0xa1820041]
inc ecx
add byte [ecx - 0x5e50ffbf], cl
inc ecx
add byte [edx - 0x5fffbe5f], dl
mov eax, dword [0xa1af0041]
inc ecx
add byte [eax + 0x41a1], ah
add byte [eax], al
add byte [ebx - 0x5c3effbf], bl
inc ecx
add dl, dh
mov dword [0xa56d0041], eax
inc ecx
add byte [esi - 0x5b], dh
inc ecx
add byte [eax - 0x7dffbe5b], al
movsd dword es:[edi], dword [esi]
inc ecx
add byte [edx - 0x77ffbe5b], al
movsd dword es:[edi], dword [esi]
inc ecx
add byte [ecx - 0x6effbe5b], dl
movsd dword es:[edi], dword [esi]
inc ecx
add byte [esi + 0x41], cl
add byte [edx - 0x5a], dl
inc ecx
add byte [ebx - 0x5a], bl
inc ecx
add cl, cl
cmpsd dword [esi], dword es:[edi]
inc ecx
add bh, cl
cmpsd dword [esi], dword es:[edi]
inc ecx
add al, ah
cmpsd dword [esi], dword es:[edi]
inc ecx
add bh, ch
cmpsd dword [esi], dword es:[edi]
inc ecx
add bh, ch
cmpsd dword [esi], dword es:[edi]
inc ecx
add ch, dh
cmpsd dword [esi], dword es:[edi]
inc ecx
add dh, bh
cmpsd dword [esi], dword es:[edi]
inc ecx
add byte [0xb0041a8], al
test al, 0x41
add byte [edx], bl
test al, 0x41
add byte [ebx], dh
retf 0x41