Function at 0x449230
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c4f6b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6f4
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x474]
call fcn.00430b20
mov dword [ebp - 4], 0
push fcn.0095f29e
lea ecx, [ebp - 0x66c]
push ecx
lea ecx, [ebp - 0x474]
call fcn.00449150
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x474]
call fcn.00449170
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x674]
push edx
lea ecx, [ebp - 0x474]
call fcn.00449150
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x678]
push ecx
call fcn.004491f0
add esp, 0x14
xor edx, edx
mov word [ebp - 0x234], dx
push 0x206
push 0
lea eax, [ebp - 0x232]
push eax
call fcn.0095d660
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x454], cx
push 0x206
push 0
lea edx, [ebp - 0x452]
push edx
call fcn.0095d660
add esp, 0xc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24c], 0
fldz
fstp qword [ebp - 0x244]
fldz
fstp qword [ebp - 0x2c]
fldz
fstp qword [ebp - 0x2c]
jmp 0x449326
fld qword [ebp - 0x2c]
fadd qword [0x9c87a8]
fstp qword [ebp - 0x2c]
fld qword [0x9c89b8]
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jne 0x449394
fld qword [0x9c89b0]
fmul qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
fsubp st(1)
fld qword [0x9c89a8]
fmul qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
fadd qword [0x9c89a0]
fdivp st(1)
fadd qword [ebp - 0x244]
fstp qword [ebp - 0x244]
fld qword [0x9c8998]
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 5
jp 0x449392
fld qword [0x9c8990]
fmul qword [ebp - 0x2c]
fsubr qword [ebp - 0x244]
fstp qword [ebp - 0x244]
invalid
jmp 0x44931a
fldz
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 0x41
jne 0x4493ce
push eax
xor eax, 0x68435c68
xor byte [ecx], ch
and bl, byte [eax + 0x2e]
sub byte [eax + 0x32], ch
and eax, 0x73304a42
aas
xor dword [esi + edi*2], esi
popal
sub ah, byte [eax + 0x45]
cmp byte [ebp + 0x75], al
push eax
jge 0x44938b
pop ebp
invalid
mov dword [ebp - 0x1c], 0x4493c3
mov dword [ebp - 0x24c], 0x4493a3
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x47c], ecx
mov byte [ebp - 0x59d], 0x24
mov dword [ebp - 0x594], 0
jmp 0x449416
mov edx, dword [ebp - 0x594]
add edx, 1
mov dword [ebp - 0x594], edx
cmp dword [ebp - 0x594], 0x100
jae 0x449437
mov eax, dword [ebp - 0x594]
mov cl, byte [ebp - 0x594]
mov byte [ebp + eax - 0x58c], cl
jmp 0x449407
mov dword [ebp - 0x484], 0
mov byte [ebp - 0x59e], 0
mov dword [ebp - 0x594], 0xff
jmp 0x449463
mov edx, dword [ebp - 0x594]
sub edx, 1
mov dword [ebp - 0x594], edx
cmp dword [ebp - 0x594], 0
jbe 0x44977b
mov dword [ebp - 0x5a4], 0
mov dword [ebp - 0x5ac], 1
mov eax, dword [ebp - 0x5ac]
cmp eax, dword [ebp - 0x594]
jae 0x4494a4
mov ecx, dword [ebp - 0x5ac]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x5ac], edx
jmp 0x449484
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x69c], eax
cmp dword [ebp - 0x69c], 3
ja case.default.0x4494c3
mov ecx, dword [ebp - 0x69c]
jmp dword [ecx*4 + 0x44ad30]
movzx edx, byte [ebp - 0x59e]
movzx ecx, byte [ebp + edx - 0x58c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0x69e]
movzx eax, word [ebp - 0x69e]
or eax, 0xc00
mov dword [ebp - 0x6a4], eax
fldcw word [ebp - 0x6a4]
fistp qword [ebp - 0x6ac]
fldcw word [ebp - 0x69e]
mov edx, dword [ebp - 0x6ac]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x59e], cl
jmp 0x449654
movzx eax, byte [ebp - 0x59e]
movzx ecx, byte [ebp + eax - 0x58c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0x6ae]
movzx eax, word [ebp - 0x6ae]
or eax, 0xc00
mov dword [ebp - 0x6b4], eax
fldcw word [ebp - 0x6b4]
fistp qword [ebp - 0x6bc]
fldcw word [ebp - 0x6ae]
mov edx, dword [ebp - 0x6bc]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x59e], cl
jmp 0x449654
movzx eax, byte [ebp - 0x59e]
movzx ecx, byte [ebp + eax - 0x58c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0x6be]
movzx eax, word [ebp - 0x6be]
or eax, 0xc00
mov dword [ebp - 0x6c4], eax
fldcw word [ebp - 0x6c4]
fistp qword [ebp - 0x6cc]
fldcw word [ebp - 0x6be]
mov edx, dword [ebp - 0x6cc]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x59e], cl
jmp 0x449654
movzx eax, byte [ebp - 0x59e]
movzx ecx, byte [ebp + eax - 0x58c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0x6ce]
movzx eax, word [ebp - 0x6ce]
or eax, 0xc00
mov dword [ebp - 0x6d4], eax
fldcw word [ebp - 0x6d4]
fistp qword [ebp - 0x6dc]
fldcw word [ebp - 0x6ce]
mov edx, dword [ebp - 0x6dc]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x59e], cl
jmp 0x449654
movzx eax, byte [ebp - 0x59e]
movzx ecx, byte [ebp + eax - 0x58c]
mov edx, dword [ebp - 0x47c]
add edx, dword [ebp - 0x484]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x59e], cl
mov ecx, dword [ebp - 0x484]
add ecx, 1
mov dword [ebp - 0x484], ecx
movzx edx, byte [ebp - 0x59d]
cmp dword [ebp - 0x484], edx
jb 0x449692
mov dword [ebp - 0x484], 0
movzx eax, byte [ebp - 0x59d]
movzx ecx, byte [ebp - 0x59e]
add ecx, eax
mov byte [ebp - 0x59e], cl
movzx edx, byte [ebp - 0x59e]
and edx, dword [ebp - 0x5ac]
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov dword [ebp - 0x5a4], eax
cmp dword [ebp - 0x5a4], 0xb
jbe 0x4496d1
mov eax, dword [ebp - 0x5a8]
xor edx, edx
div dword [ebp - 0x594]
mov dword [ebp - 0x5a8], edx
mov ecx, dword [ebp - 0x5a8]
cmp ecx, dword [ebp - 0x594]
ja 0x4494a4
mov edx, dword [ebp - 0x594]
cmp edx, dword [ebp - 0x5a8]
je 0x449776
mov eax, dword [ebp - 0x5a8]
movzx ecx, byte [ebp + eax - 0x58c]
mov edx, dword [ebp - 0x594]
movzx eax, byte [ebp + edx - 0x58c]
xor eax, ecx
mov ecx, dword [ebp - 0x594]
mov byte [ebp + ecx - 0x58c], al
mov edx, dword [ebp - 0x594]
movzx eax, byte [ebp + edx - 0x58c]
mov ecx, dword [ebp - 0x5a8]
movzx edx, byte [ebp + ecx - 0x58c]
xor edx, eax
mov eax, dword [ebp - 0x5a8]
mov byte [ebp + eax - 0x58c], dl
mov ecx, dword [ebp - 0x5a8]
movzx edx, byte [ebp + ecx - 0x58c]
mov eax, dword [ebp - 0x594]
movzx ecx, byte [ebp + eax - 0x58c]
xor ecx, edx
mov edx, dword [ebp - 0x594]
mov byte [ebp + edx - 0x58c], cl
jmp 0x449454
mov al, byte [ebp - 0x58b]
mov byte [ebp - 0x59f], al
mov cl, byte [ebp - 0x589]
mov byte [ebp - 0x485], cl
mov dl, byte [ebp - 0x587]
mov byte [ebp - 0x58d], dl
mov al, byte [ebp - 0x585]
mov byte [ebp - 0x595], al
movzx ecx, byte [ebp - 0x59e]
mov dl, byte [ebp + ecx - 0x58c]
mov byte [ebp - 0x475], dl
mov dword [ebp - 0x59c], 6
cmp dword [ebp - 0x59c], 2
jle 0x44a969
mov eax, dword [ebp - 0x59c]
and eax, 1
jne 0x44a969
mov dword [ebp - 0x620], 0
mov dword [ebp - 0x61c], 0
mov ecx, dword [ebp - 0x61c]
add ecx, 1
mov dword [ebp - 0x61c], ecx
mov dword [ebp - 0x5b0], 0
fld dword [0x9c898c]
fstp dword [ebp - 0x60c]
fld dword [0x9c8988]
fstp dword [ebp - 0x5c8]
fld dword [0x9c8984]
fstp dword [ebp - 0x600]
fld dword [0x9c8980]
fstp dword [ebp - 0x5f0]
fld dword [0x9c897c]
fstp dword [ebp - 0x5d4]
fld dword [0x9c8978]
fstp dword [ebp - 0x5fc]
fld dword [ebp - 0x5d4]
fsub dword [ebp - 0x5fc]
fstp dword [ebp - 0x5d4]
fld dword [ebp - 0x5f0]
fmul dword [ebp - 0x5fc]
fstp dword [ebp - 0x5f0]
fld dword [ebp - 0x5d4]
fadd dword [ebp - 0x5fc]
fstp dword [ebp - 0x5d4]
fld dword [ebp - 0x600]
fmul dword [ebp - 0x5fc]
fstp dword [ebp - 0x600]
fld dword [ebp - 0x5c8]
fadd dword [ebp - 0x5fc]
fstp dword [ebp - 0x5c8]
fld dword [ebp - 0x5c8]
fsub dword [ebp - 0x5fc]
fstp dword [ebp - 0x5c8]
fld dword [ebp - 0x600]
fld dword [ebp - 0x5fc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x449949
fld dword [ebp - 0x5c8]
fsub dword [ebp - 0x5f0]
fstp dword [ebp - 0x5c8]
fld dword [ebp - 0x5d4]
fmul dword [ebp - 0x60c]
fstp dword [ebp - 0x5d4]
fld dword [ebp - 0x5fc]
fadd dword [ebp - 0x5c8]
fstp dword [ebp - 0x5fc]
fld dword [ebp - 0x60c]
fsub dword [ebp - 0x600]
fstp dword [ebp - 0x60c]
fld dword [ebp - 0x5c8]
fdiv dword [ebp - 0x5f0]
fstp dword [ebp - 0x5c8]
fld dword [ebp - 0x5c8]
fmul dword [ebp - 0x5f0]
fstp dword [ebp - 0x5c8]
jmp 0x4499c3
fld dword [ebp - 0x5f0]
fadd dword [ebp - 0x5fc]
fstp dword [ebp - 0x5f0]
fld dword [ebp - 0x5d4]
fsub dword [ebp - 0x60c]
fstp dword [ebp - 0x5d4]
fld dword [ebp - 0x5fc]
fsub dword [ebp - 0x5c8]
fstp dword [ebp - 0x5fc]
fld dword [ebp - 0x5d4]
fadd dword [ebp - 0x60c]
fstp dword [ebp - 0x5d4]
fld dword [ebp - 0x600]
fsub dword [ebp - 0x5d4]
fstp dword [ebp - 0x600]
fld dword [ebp - 0x5c8]
fadd dword [ebp - 0x5f0]
fstp dword [ebp - 0x5c8]
mov edx, dword [ebp - 0x620]
shl edx, 1
mov dword [ebp - 0x5b0], edx
mov dword [ebp - 0x63c], 0
mov eax, dword [ebp - 0x480]
add eax, dword [ebp - 0x5b0]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x63c]
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x5dc], 0
mov edx, dword [ebp - 0x5dc]
add edx, 0xba
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 0x604], 0
mov eax, dword [ebp - 0x620]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x65c], 0
mov edx, dword [ebp - 0x480]
add edx, dword [ebp - 0x604]
movzx eax, byte [edx]
add eax, dword [ebp - 0x65c]
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x638], 0
mov ecx, dword [ebp - 0x638]
add ecx, 0x52
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x658], 0
mov edx, dword [ebp - 0x63c]
sub edx, dword [ebp - 0x5dc]
add edx, dword [ebp - 0x658]
mov dword [ebp - 0x658], edx
mov dword [ebp - 0x5b8], 0
mov eax, dword [ebp - 0x65c]
sub eax, dword [ebp - 0x638]
add eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x654], 0
mov ecx, dword [ebp - 0x658]
shl ecx, 4
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x634], 0
mov edx, dword [ebp - 0x5b8]
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x618], 0
mov eax, dword [ebp - 0x654]
or eax, dword [ebp - 0x634]
mov dword [ebp - 0x618], eax
mov byte [ebp - 0x5e9], 0
mov cl, byte [ebp - 0x618]
mov byte [ebp - 0x5e9], cl
mov byte [ebp - 0x64d], 0
movzx edx, byte [ebp - 0x475]
mov al, byte [ebp + edx - 0x58c]
mov byte [ebp - 0x64d], al
movzx ecx, byte [ebp - 0x59f]
movzx edx, byte [ebp + ecx - 0x58c]
movzx eax, byte [ebp - 0x485]
add eax, edx
mov byte [ebp - 0x485], al
mov cl, byte [ebp - 0x59f]
add cl, 1
mov byte [ebp - 0x59f], cl
movzx edx, byte [ebp - 0x485]
movzx eax, byte [ebp - 0x475]
mov cl, byte [ebp + edx - 0x58c]
mov byte [ebp + eax - 0x58c], cl
movzx edx, byte [ebp - 0x595]
movzx eax, byte [ebp - 0x485]
mov cl, byte [ebp + edx - 0x58c]
mov byte [ebp + eax - 0x58c], cl
movzx edx, byte [ebp - 0x59f]
movzx eax, byte [ebp - 0x595]
mov cl, byte [ebp + edx - 0x58c]
mov byte [ebp + eax - 0x58c], cl
movzx edx, byte [ebp - 0x59f]
mov al, byte [ebp - 0x64d]
mov byte [ebp + edx - 0x58c], al
movzx ecx, byte [ebp - 0x64d]
movzx edx, byte [ebp + ecx - 0x58c]
movzx eax, byte [ebp - 0x58d]
add eax, edx
mov byte [ebp - 0x58d], al
movzx ecx, byte [ebp - 0x5e9]
movzx edx, byte [ebp - 0x485]
movzx eax, byte [ebp + edx - 0x58c]
movzx edx, byte [ebp - 0x59f]
movzx edx, byte [ebp + edx - 0x58c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x58c]
xor ecx, eax
movzx edx, byte [ebp - 0x595]
movzx eax, byte [ebp + edx - 0x58c]
movzx edx, byte [ebp - 0x475]
movzx edx, byte [ebp + edx - 0x58c]
add eax, edx
movzx edx, byte [ebp - 0x58d]
movzx edx, byte [ebp + edx - 0x58c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x58c]
movzx edx, byte [ebp + eax - 0x58c]
xor ecx, edx
mov byte [ebp - 0x595], cl
mov al, byte [ebp - 0x5e9]
mov byte [ebp - 0x475], al
mov cl, byte [ebp - 0x595]
mov byte [ebp - 0x62d], cl
cmp dword [ebp - 0x620], 0
jle 0x449c84
movsx dx, byte [ebp - 0x62d]
mov eax, dword [ebp - 0x620]
mov word [ebp + eax*2 - 0x1a], dx
mov ecx, dword [ebp - 0x620]
add ecx, 1
mov dword [ebp - 0x620], ecx
mov edx, dword [ebp - 0x61c]
add edx, 1
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0x620]
shl eax, 1
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x480]
add ecx, dword [ebp - 0x5b0]
movzx edx, byte [ecx]
mov dword [ebp - 0x63c], edx
mov dword [ebp - 0x5dc], 0xba
mov eax, dword [ebp - 0x620]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x604], ecx
mov edx, dword [ebp - 0x480]
add edx, dword [ebp - 0x604]
movzx eax, byte [edx]
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x638], 0x52
mov ecx, dword [ebp - 0x63c]
sub ecx, dword [ebp - 0x5dc]
mov dword [ebp - 0x658], ecx
mov edx, dword [ebp - 0x65c]
sub edx, dword [ebp - 0x638]
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x658]
shl eax, 4
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x5b8]
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x654]
or edx, dword [ebp - 0x634]
mov dword [ebp - 0x618], edx
mov al, byte [ebp - 0x618]
mov byte [ebp - 0x5e9], al
movzx ecx, byte [ebp - 0x475]
mov dl, byte [ebp + ecx - 0x58c]
mov byte [ebp - 0x64d], dl
movzx eax, byte [ebp - 0x59f]
movzx ecx, byte [ebp + eax - 0x58c]
movzx edx, byte [ebp - 0x485]
add edx, ecx
mov byte [ebp - 0x485], dl
mov al, byte [ebp - 0x59f]
add al, 1
mov byte [ebp - 0x59f], al
movzx ecx, byte [ebp - 0x485]
movzx edx, byte [ebp - 0x475]
mov al, byte [ebp + ecx - 0x58c]
mov byte [ebp + edx - 0x58c], al
movzx ecx, byte [ebp - 0x595]
movzx edx, byte [ebp - 0x485]
mov al, byte [ebp + ecx - 0x58c]
mov byte [ebp + edx - 0x58c], al
fld dword [0x9c8974]
fstp dword [ebp - 0x628]
fld dword [0x9c8970]
fstp dword [ebp - 0x64c]
fld dword [0x9c896c]
fstp dword [ebp - 0x5d0]
fld dword [0x9c8968]
fstp dword [ebp - 0x5f8]
fld dword [0x9c8964]
fstp dword [ebp - 0x624]
fld dword [0x9c8960]
fstp dword [ebp - 0x648]
fld dword [ebp - 0x5d0]
fadd dword [ebp - 0x648]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x628]
fadd dword [ebp - 0x648]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x5f8]
fadd dword [ebp - 0x648]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x5f8]
fadd dword [ebp - 0x648]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x5d0]
fmul dword [ebp - 0x648]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x64c]
fadd dword [ebp - 0x648]
fstp dword [ebp - 0x64c]
fld dword [ebp - 0x5d0]
fld dword [ebp - 0x648]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44a06c
fld dword [ebp - 0x648]
fdiv dword [ebp - 0x64c]
fstp dword [ebp - 0x648]
fld dword [ebp - 0x5d0]
fsub dword [ebp - 0x624]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x64c]
fdiv dword [ebp - 0x5f8]
fstp dword [ebp - 0x64c]
fld dword [ebp - 0x624]
fmul dword [ebp - 0x628]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x648]
fmul dword [ebp - 0x64c]
fstp dword [ebp - 0x648]
fld dword [ebp - 0x5f8]
fsub dword [ebp - 0x648]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x628]
fmul dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x628]
fsub dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x5d0]
fmul dword [ebp - 0x5f8]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x628]
fadd dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x624]
fsub dword [ebp - 0x648]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x5f8]
fdiv dword [ebp - 0x624]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x5d0]
fld dword [ebp - 0x624]
fcompp
fnstsw ax
test ah, 0x41
jne 0x449ffb
fld dword [ebp - 0x648]
fdiv dword [ebp - 0x628]
fstp dword [ebp - 0x648]
fld dword [ebp - 0x624]
fsub dword [ebp - 0x648]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x628]
fdiv dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x5d0]
fadd dword [ebp - 0x5f8]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x5f8]
fdiv dword [ebp - 0x624]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x5f8]
fsub dword [ebp - 0x624]
fstp dword [ebp - 0x5f8]
jmp 0x44a067
fld dword [ebp - 0x5f8]
fsub dword [ebp - 0x624]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x628]
fmul dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x624]
fdiv dword [ebp - 0x648]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x5f8]
fsub dword [ebp - 0x624]
fstp dword [ebp - 0x5f8]
fld dword [ebp - 0x64c]
fsub dword [ebp - 0x5d0]
fstp dword [ebp - 0x64c]
fld dword [ebp - 0x5d0]
fdiv dword [ebp - 0x5f8]
fstp dword [ebp - 0x5d0]
jmp 0x44a0f4
fld dword [ebp - 0x628]
fadd dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x628]
fadd dword [ebp - 0x64c]
fstp dword [ebp - 0x628]
fld dword [ebp - 0x624]
fadd dword [ebp - 0x648]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x624]
fsub dword [ebp - 0x648]
fstp dword [ebp - 0x624]
fld dword [ebp - 0x5d0]
fmul dword [ebp - 0x5f8]
fstp dword [ebp - 0x5d0]
fld dword [ebp - 0x64c]
fadd dword [ebp - 0x5d0]
fstp dword [ebp - 0x64c]
movzx ecx, byte [ebp - 0x59f]
movzx edx, byte [ebp - 0x595]
mov al, byte [ebp + ecx - 0x58c]
mov byte [ebp + edx - 0x58c], al
movzx ecx, byte [ebp - 0x59f]
mov dl, byte [ebp - 0x64d]
mov byte [ebp + ecx - 0x58c], dl
movzx eax, byte [ebp - 0x64d]
movzx ecx, byte [ebp + eax - 0x58c]
movzx edx, byte [ebp - 0x58d]
add edx, ecx
mov byte [ebp - 0x58d], dl
movzx eax, byte [ebp - 0x5e9]
movzx ecx, byte [ebp - 0x485]
movzx edx, byte [ebp + ecx - 0x58c]
movzx ecx, byte [ebp - 0x59f]
movzx ecx, byte [ebp + ecx - 0x58c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x58c]
xor eax, edx
movzx ecx, byte [ebp - 0x595]
movzx edx, byte [ebp + ecx - 0x58c]
movzx ecx, byte [ebp - 0x475]
movzx ecx, byte [ebp + ecx - 0x58c]
add edx, ecx
movzx ecx, byte [ebp - 0x58d]
movzx ecx, byte [ebp + ecx - 0x58c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x58c]
movzx ecx, byte [ebp + edx - 0x58c]
xor eax, ecx
mov byte [ebp - 0x595], al
mov dl, byte [ebp - 0x5e9]
mov byte [ebp - 0x475], dl
mov al, byte [ebp - 0x595]
mov byte [ebp - 0x62d], al
cmp dword [ebp - 0x620], 0
jle 0x44a1e0
movsx cx, byte [ebp - 0x62d]
mov edx, dword [ebp - 0x620]
mov word [ebp + edx*2 - 0x1a], cx
mov eax, dword [ebp - 0x620]
add eax, 1
mov dword [ebp - 0x620], eax
mov ecx, dword [ebp - 0x61c]
add ecx, 1
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x620]
shl edx, 1
mov dword [ebp - 0x5b0], edx
mov eax, dword [ebp - 0x480]
add eax, dword [ebp - 0x5b0]
movzx ecx, byte [eax]
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x5dc], 0xba
mov edx, dword [ebp - 0x620]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x604], eax
fld dword [0x9c895c]
fstp dword [ebp - 0x5cc]
fld dword [0x9c8958]
fstp dword [ebp - 0x5f4]
fld dword [0x9c8954]
fstp dword [ebp - 0x5e8]
fld dword [0x9c8950]
fstp dword [ebp - 0x5c4]
fld dword [0x9c894c]
fstp dword [ebp - 0x644]
fld dword [0x9c8948]
fstp dword [ebp - 0x614]
fld dword [ebp - 0x5f4]
fmul dword [ebp - 0x614]
fstp dword [ebp - 0x5f4]
fld dword [ebp - 0x5e8]
fsub dword [ebp - 0x614]
fstp dword [ebp - 0x5e8]
fld dword [ebp - 0x5cc]
fmul dword [ebp - 0x614]
fstp dword [ebp - 0x5cc]
fld dword [ebp - 0x5e8]
fadd dword [ebp - 0x614]
fstp dword [ebp - 0x5e8]
fld dword [ebp - 0x5f4]
fmul dword [ebp - 0x614]
fstp dword [ebp - 0x5f4]
fld dword [ebp - 0x5c4]
fsub dword [ebp - 0x614]
fstp dword [ebp - 0x5c4]
fld dword [ebp - 0x614]
fld dword [ebp - 0x5f4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44a38b
fld dword [ebp - 0x5c4]
fadd dword [ebp - 0x614]
fstp dword [ebp - 0x5c4]
fld dword [ebp - 0x5f4]
fsub dword [ebp - 0x5c4]
fstp dword [ebp - 0x5f4]
fld dword [ebp - 0x614]
fmul dword [ebp - 0x5f4]
fstp dword [ebp - 0x614]
fld dword [ebp - 0x5cc]
fmul dword [ebp - 0x5e8]
fstp dword [ebp - 0x5cc]
fld dword [ebp - 0x5f4]
fsub dword [ebp - 0x5c4]
fstp dword [ebp - 0x5f4]
fld dword [ebp - 0x5f4]
fmul dword [ebp - 0x5c4]
fstp dword [ebp - 0x5f4]
mov ecx, dword [ebp - 0x480]
add ecx, dword [ebp - 0x604]
movzx edx, byte [ecx]
mov dword [ebp - 0x65c], edx
jmp 0x44a3f7
fld dword [ebp - 0x614]
fdiv dword [ebp - 0x5f4]
fstp dword [ebp - 0x614]
fld dword [ebp - 0x5e8]
fdiv dword [ebp - 0x644]
fstp dword [ebp - 0x5e8]
fld dword [ebp - 0x5cc]
fdiv dword [ebp - 0x5e8]
fstp dword [ebp - 0x5cc]
fld dword [ebp - 0x5cc]
fsub dword [ebp - 0x5e8]
fstp dword [ebp - 0x5cc]
fld dword [ebp - 0x644]
fadd dword [ebp - 0x5cc]
fstp dword [ebp - 0x644]
fld dword [ebp - 0x5cc]
fdiv dword [ebp - 0x5e8]
fstp dword [ebp - 0x5cc]
mov dword [ebp - 0x638], 0x52
mov eax, dword [ebp - 0x63c]
sub eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x65c]
sub ecx, dword [ebp - 0x638]
mov dword [ebp - 0x5b8], ecx
mov edx, dword [ebp - 0x658]
shl edx, 4
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x654]
or ecx, dword [ebp - 0x634]
mov dword [ebp - 0x618], ecx
mov dl, byte [ebp - 0x618]
mov byte [ebp - 0x5e9], dl
movzx eax, byte [ebp - 0x475]
mov cl, byte [ebp + eax - 0x58c]
mov byte [ebp - 0x64d], cl
movzx edx, byte [ebp - 0x59f]
movzx eax, byte [ebp + edx - 0x58c]
movzx ecx, byte [ebp - 0x485]
add ecx, eax
mov byte [ebp - 0x485], cl
mov dl, byte [ebp - 0x59f]
add dl, 1
mov byte [ebp - 0x59f], dl
fld dword [0x9c8944]
fstp dword [ebp - 0x5e4]
fld dword [0x9c8940]
fstp dword [ebp - 0x5c0]
fld dword [0x9c893c]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x5c0]
fmul dword [ebp - 0x640]
fstp dword [ebp - 0x5c0]
fld dword [ebp - 0x5c0]
fmul dword [ebp - 0x640]
fstp dword [ebp - 0x5c0]
fld dword [ebp - 0x5e4]
fadd dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
fld dword [ebp - 0x5c0]
fld dword [ebp - 0x640]
fcompp
fnstsw ax
test ah, 5
jp 0x44a565
fld dword [ebp - 0x5e4]
fadd dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
fld dword [ebp - 0x640]
fsub dword [ebp - 0x5c0]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x5e4]
fadd dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
movzx eax, byte [ebp - 0x485]
movzx ecx, byte [ebp - 0x475]
mov dl, byte [ebp + eax - 0x58c]
mov byte [ebp + ecx - 0x58c], dl
jmp 0x44a654
fld dword [ebp - 0x5e4]
fsub dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
fld dword [ebp - 0x640]
fmul dword [ebp - 0x5c0]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x640]
fdiv dword [ebp - 0x5c0]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x5e4]
fmul dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
fld dword [ebp - 0x5e4]
fdiv dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
fld dword [ebp - 0x640]
fmul dword [ebp - 0x5c0]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x5c0]
fld dword [ebp - 0x5e4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44a61e
fld dword [ebp - 0x640]
fadd dword [ebp - 0x5e4]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x640]
fadd dword [ebp - 0x5e4]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x5c0]
fmul dword [ebp - 0x640]
fstp dword [ebp - 0x5c0]
jmp 0x44a654
fld dword [ebp - 0x640]
fadd dword [ebp - 0x5c0]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x640]
fadd dword [ebp - 0x5c0]
fstp dword [ebp - 0x640]
fld dword [ebp - 0x5e4]
fmul dword [ebp - 0x640]
fstp dword [ebp - 0x5e4]
movzx eax, byte [ebp - 0x595]
movzx ecx, byte [ebp - 0x485]
mov dl, byte [ebp + eax - 0x58c]
mov byte [ebp + ecx - 0x58c], dl
movzx eax, byte [ebp - 0x59f]
movzx ecx, byte [ebp - 0x595]
mov dl, byte [ebp + eax - 0x58c]
mov byte [ebp + ecx - 0x58c], dl
movzx eax, byte [ebp - 0x59f]
mov cl, byte [ebp - 0x64d]
mov byte [ebp + eax - 0x58c], cl
movzx edx, byte [ebp - 0x64d]
movzx eax, byte [ebp + edx - 0x58c]
movzx ecx, byte [ebp - 0x58d]
add ecx, eax
mov byte [ebp - 0x58d], cl
movzx edx, byte [ebp - 0x5e9]
movzx eax, byte [ebp - 0x485]
movzx ecx, byte [ebp + eax - 0x58c]
movzx eax, byte [ebp - 0x59f]
movzx eax, byte [ebp + eax - 0x58c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x58c]
xor edx, ecx
movzx eax, byte [ebp - 0x595]
movzx ecx, byte [ebp + eax - 0x58c]
movzx eax, byte [ebp - 0x475]
movzx eax, byte [ebp + eax - 0x58c]
add ecx, eax
movzx eax, byte [ebp - 0x58d]
movzx eax, byte [ebp + eax - 0x58c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x58c]
movzx eax, byte [ebp + ecx - 0x58c]
xor edx, eax
mov byte [ebp - 0x595], dl
mov cl, byte [ebp - 0x5e9]
mov byte [ebp - 0x475], cl
mov dl, byte [ebp - 0x595]
mov byte [ebp - 0x62d], dl
cmp dword [ebp - 0x620], 0
jle 0x44a778
movsx ax, byte [ebp - 0x62d]
mov ecx, dword [ebp - 0x620]
mov word [ebp + ecx*2 - 0x1a], ax
fld dword [0x9c8938]
fstp dword [ebp - 0x610]
fld dword [0x9c8934]
fstp dword [ebp - 0x5e0]
fld dword [0x9c8930]
fstp dword [ebp - 0x5bc]
fld dword [0x9c892c]
fstp dword [ebp - 0x5b4]
fld dword [0x9c8928]
fstp dword [ebp - 0x62c]
fld dword [0x9c8924]
fstp dword [ebp - 0x608]
fld dword [0x9c8920]
fstp dword [ebp - 0x5d8]
fld dword [ebp - 0x5e0]
fsub dword [ebp - 0x5d8]
fstp dword [ebp - 0x5e0]
fld dword [ebp - 0x5b4]
fadd dword [ebp - 0x5d8]
fstp dword [ebp - 0x5b4]
fld dword [ebp - 0x610]
fsub dword [ebp - 0x5d8]
fstp dword [ebp - 0x610]
fld dword [ebp - 0x5e0]
fsub dword [ebp - 0x5d8]
fstp dword [ebp - 0x5e0]
fld dword [ebp - 0x5bc]
fadd dword [ebp - 0x5d8]
fstp dword [ebp - 0x5bc]
fld dword [ebp - 0x5bc]
fmul dword [ebp - 0x5d8]
fstp dword [ebp - 0x5bc]
fld dword [ebp - 0x5b4]
fsub dword [ebp - 0x5d8]
fstp dword [ebp - 0x5b4]
fld dword [ebp - 0x5d8]
fld dword [ebp - 0x5bc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44a8e9
fld dword [ebp - 0x5e0]
fmul dword [ebp - 0x5b4]
fstp dword [ebp - 0x5e0]
fld dword [ebp - 0x610]
fsub dword [ebp - 0x5bc]
fstp dword [ebp - 0x610]
fld dword [ebp - 0x5bc]
fsub dword [ebp - 0x62c]
fstp dword [ebp - 0x5bc]
fld dword [ebp - 0x5bc]
fadd dword [ebp - 0x62c]
fstp dword [ebp - 0x5bc]
fld dword [ebp - 0x62c]
fmul dword [ebp - 0x5d8]
fstp dword [ebp - 0x62c]
fld dword [ebp - 0x608]
fmul dword [ebp - 0x610]
fstp dword [ebp - 0x608]
fld dword [ebp - 0x5d8]
fsub dword [ebp - 0x5e0]
fstp dword [ebp - 0x5d8]
xor edx, edx
mov word [ebp - 0x14], dx
jmp 0x44a967
fld dword [ebp - 0x5b4]
fdiv dword [ebp - 0x62c]
fstp dword [ebp - 0x5b4]
fld dword [ebp - 0x62c]
fsub dword [ebp - 0x608]
fstp dword [ebp - 0x62c]
fld dword [ebp - 0x5d8]
fmul dword [ebp - 0x610]
fstp dword [ebp - 0x5d8]
fld dword [ebp - 0x5bc]
fadd dword [ebp - 0x5b4]
fstp dword [ebp - 0x5bc]
fld dword [ebp - 0x5bc]
fsub dword [ebp - 0x5b4]
fstp dword [ebp - 0x5bc]
fld dword [ebp - 0x5b4]
fdiv dword [ebp - 0x62c]
fstp dword [ebp - 0x5b4]
fld dword [ebp - 0x610]
fadd dword [ebp - 0x5e0]
fstp dword [ebp - 0x610]
jmp 0x44a99c
mov dword [ebp - 0x660], 0
jmp 0x44a984
mov eax, dword [ebp - 0x660]
add eax, 1
mov dword [ebp - 0x660], eax
cmp dword [ebp - 0x660], 3
jge 0x44a99c
xor ecx, ecx
mov edx, dword [ebp - 0x660]
mov word [ebp + edx*2 - 0x18], cx
jmp 0x44a975
push 0
push 0
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x234]
push ecx
lea ecx, [ebp - 0x474]
call fcn.0042e730
push eax
call fcn.0095f1b2
add esp, 0x14
lea edx, [ebp - 0x18]
mov dword [ebp - 0x6e0], edx
lea eax, [ebp - 0x234]
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp - 0x6e4]
mov dx, word [ecx]
mov word [ebp - 0x6e6], dx
mov eax, dword [ebp - 0x6e0]
cmp dx, word [eax]
jne 0x44aa3d
cmp word [ebp - 0x6e6], 0
je 0x44aa31
mov ecx, dword [ebp - 0x6e4]
mov dx, word [ecx + 2]
mov word [ebp - 0x6e8], dx
mov eax, dword [ebp - 0x6e0]
cmp dx, word [eax + 2]
jne 0x44aa3d
add dword [ebp - 0x6e4], 4
add dword [ebp - 0x6e0], 4
cmp word [ebp - 0x6e8], 0
jne 0x44a9d7
mov dword [ebp - 0x6ec], 0
jmp 0x44aa48
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6ec]
mov dword [ebp - 0x6f0], edx
cmp dword [ebp - 0x6f0], 0
jne 0x44aada
lea eax, [ebp - 0x454]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f4]
add ecx, 2
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov ax, word [edx]
mov word [ebp - 0x6fa], ax
add dword [ebp - 0x6f4], 2
cmp word [ebp - 0x6fa], 0
jne 0x44aa78
mov ecx, dword [ebp - 0x6f4]
sub ecx, dword [ebp - 0x6f8]
sar ecx, 1
mov dword [ebp - 0x700], ecx
cmp dword [ebp - 0x700], 2
jae 0x44aada
mov byte [ebp - 0x679], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x474]
call fcn.0042f920
mov al, byte [ebp - 0x679]
jmp 0x44ad1f
mov byte [ebp - 0xe], 0
mov byte [ebp - 0x245], 0
mov byte [ebp - 0x455], 0
mov byte [ebp - 0x239], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x20], 0
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0x474]
call fcn.004e2d90
mov dword [ebp - 0x664], eax
jmp 0x44ab2a
mov edx, dword [ebp - 0x664]
sub edx, 1
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 0
jle 0x44acfe
mov eax, dword [ebp - 0x664]
push eax
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx ecx, word [eax]
cmp ecx, 0x2e
jne 0x44ab57
mov byte [ebp - 0xe], 1
jmp 0x44ab1b
movzx edx, byte [ebp - 0xe]
test edx, edx
je 0x44ab93
mov eax, dword [ebp - 0x664]
push eax
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx ecx, word [eax]
cmp ecx, 0x29
jne 0x44ab88
mov byte [ebp - 0xe], 0
mov byte [ebp - 0x455], 1
jmp 0x44ab1b
mov byte [ebp - 0xe], 0
mov byte [ebp - 0x245], 1
movzx edx, byte [ebp - 0x455]
test edx, edx
je 0x44ac26
mov eax, dword [ebp - 0x664]
push eax
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx ecx, word [eax]
cmp ecx, 0x28
jne 0x44abd6
mov byte [ebp - 0x455], 0
mov byte [ebp - 0x245], 1
mov byte [ebp - 0x239], 1
jmp 0x44ab1b
mov edx, dword [ebp - 0x664]
push edx
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx eax, word [eax]
push eax
call fcn.0095ef92
add esp, 4
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x665], al
movzx ecx, byte [ebp - 0x665]
test ecx, ecx
je 0x44ac21
cmp dword [ebp - 0x20], 3
jge 0x44ac21
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
jmp 0x44ab1b
jmp 0x44acfe
movzx eax, byte [ebp - 0x239]
test eax, eax
je 0x44ac62
mov byte [ebp - 0x239], 0
mov ecx, dword [ebp - 0x664]
push ecx
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx edx, word [eax]
push edx
call fcn.004490d0
add esp, 4
movzx eax, al
test eax, eax
jne 0x44ac62
jmp 0x44ab1b
movzx ecx, byte [ebp - 0x245]
test ecx, ecx
je 0x44acf9
mov edx, dword [ebp - 0x664]
push edx
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx eax, word [eax]
cmp eax, 0x5f
jne 0x44ac9c
cmp dword [ebp - 0x238], 3
jge 0x44ac96
jmp 0x44acfe
mov byte [ebp - 0xd], 1
jmp 0x44acfe
mov ecx, dword [ebp - 0x664]
push ecx
lea ecx, [ebp - 0x474]
call fcn.00449130
movzx edx, word [eax]
push edx
call fcn.004490d0
add esp, 4
mov byte [ebp - 0x666], al
movzx eax, byte [ebp - 0x666]
xor ecx, ecx
cmp dword [ebp - 0x238], 0xa
setl cl
and eax, ecx
mov byte [ebp - 0x666], al
movzx edx, byte [ebp - 0x666]
test edx, edx
jne 0x44acea
jmp 0x44acfe
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
jmp 0x44ab1b
mov cl, byte [ebp - 0xd]
mov byte [ebp - 0x67a], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x474]
call fcn.0042f920
mov al, byte [ebp - 0x67a]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret