Function at 0x403570
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x606c44
push 0x20019
push 0
push 0x40f300
push 0x80000001
mov dword [0x606c68], eax
mov dword [0x606c5c], 0x401050
call dword [section..rdata]
mov ecx, dword [0x606c44]
push ecx
call dword [0x40f004]
push 0x606c58
call dword [0x40f124]
fld qword [0x40f2f8]
mov eax, dword [0x606cb8]
fstp qword [ebp - 0x34]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
mov ecx, 0x606ca4
call fcn.004022e0
push 1
mov ecx, 0x606ca4
mov esi, eax
call fcn.00402f10
mov dword [edi], esi
mov edx, dword [esi + 4]
mov dword [edx], esi
call fcn.00403470
cmp dword [0x606c9c], 0
je 0x403640
mov ebx, dword [0x40f120]
mov esi, dword [0x40f11c]
mov edi, dword [0x40f118]
push 0
push 0
push 0
push str.FEF_F
call ebx
test eax, eax
je 0x403640
push str.FEF_F
call esi
push str.FEF_F
call edi
cmp dword [0x606c9c], 0
jne 0x403618
mov ecx, 0x606cc0
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 0x12
call fcn.00402170
mov edi, dword [ebp + 0x10]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403660
sub eax, edx
mov esi, 0x214c
mov dword [str.1SNAN], 0x1903
mov dword [0x41205c], 0xfc46
mov dword [0x606d18], esi
je 0x40369e
mov al, byte [edi]
cmp al, 0x30
je 0x40369e
cmp byte [edi + 1], 0x3a
je 0x40369e
cmp al, 0x33
je 0x40369e
xor bl, bl
jmp 0x4036a0
mov bl, 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 8], esp
push 5
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], 0
push 0x40f2e8
mov word [ecx + 4], ax
call fcn.00402e20
mov ecx, str.Tuesday
call fcn.00403210
mov ecx, str.Tuesday
mov dword [0x606d18], esi
call fcn.004033d0
mov dword [0x606d18], esi
mov esi, 0x4317a9
mov ecx, 0x606cc0
mov dword [ebp + 8], esi
call fcn.00402170
test bl, bl
je 0x403713
mov dword [str.SunMonTueWedThuFriSat], 0x18152
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp - 4]
push ecx
mov ecx, 0x606cc0
call fcn.00402000
fldz
fld1
mov edi, dword [ebp - 4]
fld qword [0x40f2e0]
xor ecx, ecx
xor edx, edx
jmp 0x403736
fxch st(2)
mov al, byte [ecx + esi]
fxch st(2)
fadd st(1)
mov byte [ecx + edi], al
add ecx, 1
adc edx, 0
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x403734
fstp st(0)
fstp st(0)
fstp st(0)
pushal
pushfd
mov esi, dword [ebp + 8]
add esi, 0x31f8
mov edi, dword [ebp - 4]
add edi, 0x31f8
mov ecx, 0xe914f
mov ax, word [esi]
mov byte [edi], al
add esi, 2
inc edi
dec ecx
jne 0x40376e
popfd
popal
mov eax, dword [0x606cb8]
fld qword [0x40f2d8]
mov edx, dword [eax + 4]
fstp qword [ebp - 0x34]
lea edi, [eax + 4]
lea ecx, [ebp - 0x34]
push ecx
push edx
push eax
mov ecx, 0x606ca4
call fcn.004022e0
push 1
mov ecx, 0x606ca4
mov esi, eax
call fcn.00402f10
mov ebx, dword [ebp + 0x10]
mov dword [edi], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
xor edi, edi
xor esi, esi
mov dword [ebp - 0xc], esi
jmp 0x4037c6
mov esi, dword [ebp - 0xc]
xor edi, edi
mov ecx, str.Tuesday
call fcn.004033d0
mov ecx, dword [ebp + 8]
add ecx, 0xffff533f
cmp esi, ecx
jne 0x4037e7
mov dword [0x606d18], 0x214c
mov ecx, 0x606cc0
call fcn.00401c60
mov edx, dword [ebp + 8]
add edx, 0xfffebf6a
mov dword [str.1SNAN], edi
mov dword [0x41205c], 0x507e15e8
cmp esi, edx
jne 0x403822
mov dword [0x606d14], 0xff502c3a
mov dword [0x606d10], 0x148ba
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 8], esp
push 5
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], edi
push 0x40f2cc
mov word [ecx + 4], ax
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00402990
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 8], esp
mov dword [str.SunMonTueWedThuFriSat], 0x18152
push 5
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], edi
push 0x40f2c0
mov word [ecx + 4], dx
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00402990
mov eax, dword [ebp - 4]
mov ecx, dword [eax + esi*4]
mov dword [ebp + 8], ecx
mov ecx, 0x3c
cmp dword [ebp - 8], edi
je 0x40389e
mov ecx, dword [ebp - 0x18]
mov eax, 0x85250de7
mul ecx
shr edx, 0x1f
imul edx, edx, 0x9e45378
add edx, ecx
xor edx, ecx
xor edx, 0x69bd1198
lea eax, [ecx - 1]
imul edx, eax
imul edx, ecx
imul edx, edx, 0x4901146c
or eax, 0xffffffff
sub eax, edx
mov dword [ebp - 0x14], eax
mov eax, 0xbd599d53
mul ecx
shr edx, 0x1e
imul edx, edx, 0x56870eba
mov esi, ecx
sub esi, edx
mov eax, 0xf89e88b3
mul ecx
shr edx, 0x1e
imul edx, edx, 0x41e663bc
mov edi, ecx
sub edi, edx
mov eax, ecx
xor eax, 0x7a77f924
mov edx, ecx
imul eax, ecx
xor edx, 0xd0e9b6ae
imul eax, eax, 0x51a31314
imul edi, edx
xor esi, ecx
xor esi, 0xc2a92578
imul esi, esi, 0x452c4476
test edi, edi
je 0x40392a
xor edx, edx
div edi
jmp 0x40392c
mov edx, eax
mov ecx, dword [ebp - 0x14]
imul edx, esi
test ecx, ecx
je 0x40393c
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 8]
lea esi, [edx + eax]
mov dword [0x606d18], 0x214c
mov eax, 0xc
test edi, edi
je 0x40395b
mov eax, dword [ebp - 0x1c]
push eax
mov dword [str.SunMonTueWedThuFriSat], 0x18152
mov dword [0x606d14], 0xff502c3a
mov dword [0x606d10], 0x148ba
mov dword [ebp - 0x18], eax
call fcn.00401e90
add eax, esi
add esp, 4
mov ecx, 0x606cc0
mov dword [ebp - 0x24], eax
call fcn.00402170
mov esi, 0x18
test edi, edi
je 0x4039a0
mov esi, dword [ebp - 0x20]
mov ecx, esi
xor ecx, 0xacf27b88
mov edx, esi
xor edx, 0x968bd27e
sub ecx, edx
mov eax, 0x4b83bcfb
mul esi
shr edx, 0x1d
imul edx, edx, 0x6c7b79f8
mov eax, esi
sub eax, edx
xor ecx, eax
mov eax, 0x1bae1565
mul esi
shr edx, 0x1c
imul edx, edx, 0x6c05f02c
add edx, esi
xor ecx, edx
mov eax, 0x524d32af
mul esi
shr edx, 0x1e
imul edx, edx, 0x38ed5db6
add edx, esi
lea eax, [esi + 0x49c294f6]
imul edx, eax
mov eax, esi
imul eax, esi
imul eax, eax, 0x1270a03c
xor edx, eax
imul ecx, edx
lea edx, [esi + 0xe22d622]
imul edx, esi
imul edx, edx, 0x16ec00e8
or edi, 0xffffffff
sub edi, edx
mov eax, 0x3e962ed
mul esi
shr edx, 0x19
mov eax, edx
imul eax, eax, 0x7d1c0640
mov edx, esi
add eax, esi
xor edx, 0xa00aa640
mov dword [str.1SNAN], 0
mov dword [0x41205c], 0xffffb587
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
je 0x403a5a
xor edx, edx
div dword [ebp - 0x14]
jmp 0x403a5c
mov edx, eax
mov eax, esi
imul eax, eax, 0x3a6c3960
dec eax
xor eax, edx
test edi, edi
je 0x403a71
xor edx, edx
div edi
jmp 0x403a73
mov edx, eax
test ecx, ecx
je 0x403a7d
mov eax, edx
xor edx, edx
div ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20], esp
push 5
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], 0
push 0x40f2b4
mov dword [ebp - 0x14], edx
mov word [ecx + 4], ax
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00403210
mov ecx, 0x606cc0
mov dword [ebp - 0x1c], esi
mov dword [str.1SNAN], 0x1903
mov dword [0x41205c], 0xfc46
call fcn.00402170
mov ecx, dword [ebp + 8]
add ecx, 0xfffeec06
cmp dword [ebp - 0xc], ecx
jne 0x403b10
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20], esp
mov dword [ecx + 0x18], edi
push 5
xor edi, edi
xor edx, edx
mov dword [ecx + 0x14], edi
push 0x40f2a8
mov word [ecx + 4], dx
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00403210
jmp 0x403b12
xor edi, edi
mov esi, dword [ebp - 0x10]
mov eax, 0xfe
cmp esi, edi
jne 0x403b21
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
sub esp, 0x1c
lea edx, [ecx + eax + 1]
mov ecx, esp
mov dword [ebp - 0x28], esp
mov dword [0x41205c], edi
mov dword [str.1SNAN], edi
mov dword [str.SunMonTueWedThuFriSat], 0x214c
push 5
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], edi
push 0x40f29c
mov dword [ebp - 0x24], edx
mov word [ecx + 4], ax
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00403210
cmp esi, edi
mov dword [0x41205c], 0xff502c3a
mov dword [str.1SNAN], 0x148ba
mov esi, 0x40
jne 0x403b95
mov esi, dword [ebp - 0x2c]
mov ecx, str.Tuesday
mov dword [0x606d10], edi
mov dword [0x606d14], 0xffffb587
mov dword [str.SunMonTueWedThuFriSat], 0x214c
mov dword [ebp - 0x28], esi
call fcn.004033d0
mov eax, 0x7a6bbd31
mul esi
shr edx, 0x1e
mov ecx, edx
mov edx, esi
imul ecx, ecx, 0x7a2aa5f0
imul edx, edx, 0xd6992c42
xor edx, esi
add ecx, esi
xor edx, 0xded611ba
imul ecx, edx
lea eax, [esi - 1]
imul ecx, eax
mov eax, 0x1e91081d
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
imul eax, eax, 0x1b4e608a
lea edx, [eax + esi - 2]
xor ecx, edx
mov eax, 0x7309073b
mul esi
imul esi, esi, 0xcdad8939
shr edx, 0x19
imul edx, edx, 0x4736838
sub esi, edx
sub esi, 2
imul ecx, esi
xor ecx, dword [ebp - 0x24]
mov eax, 0x48
cmp dword [ebp - 8], edi
je 0x403c35
mov eax, dword [ebp - 0x30]
sub esp, 0x1c
inc ecx
mov dword [ebp - 0x24], ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
mov dword [0x41205c], 0xff502c3a
mov dword [str.1SNAN], 0x148ba
mov dword [str.SunMonTueWedThuFriSat], 0x214c
mov dword [ebp - 0x2c], eax
push 5
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], edi
push 0x40f290
mov word [ecx + 4], ax
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00403210
cmp dword [ebp - 0x10], edi
je 0x403c92
mov ebx, 0xa8
mov edx, ebx
xor edx, 0xb5724e4a
imul edx, ebx
imul edx, edx, 0x2c9e98
or ecx, 0xffffffff
sub ecx, edx
mov eax, 0x5281b93f
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
mov edx, eax
imul edx, edx, 0x60cd36f2
mov eax, ebx
lea esi, [ebx - 1]
sub eax, edx
mov dword [ebp - 0x30], ebx
mov dword [str.SunMonTueWedThuFriSat], 0x18152
mov dword [0x606d14], edi
mov dword [0x606d10], edi
cmp esi, edi
je 0x403cef
xor edx, edx
div esi
mov dword [ebp - 0x14], edx
jmp 0x403cf2
mov dword [ebp - 0x14], eax
mov eax, 0x35ed96cb
mul ebx
shr edx, 0x1d
mov esi, edx
imul esi, esi, 0x68180f78
add esi, ebx
lea eax, [ebx - 0x4f2d9a50]
xor esi, eax
imul esi, dword [ebp - 0x14]
mov dword [str.1SNAN], edi
sub esi, ecx
mov ecx, ebx
mov edi, ebx
imul ecx, ecx, 0xe5ca024
imul ebx, ebx, 0x18f0428f
xor edi, 0xe1fa0be8
sub edi, ecx
add ebx, 0x7937d93a
imul edi, ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14], esp
mov dword [0x41205c], 0xffffb587
push 5
mov ebx, 7
xor edx, edx
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], 0
push 0x40f284
dec edi
mov word [ecx + 4], dx
call fcn.00402e20
mov ecx, str.Tuesday
call fcn.00403210
imul edi, esi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14], esp
push 5
xor eax, eax
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], 0
push 0x40f278
mov word [ecx + 4], ax
call fcn.00402e20
mov ecx, 0x606cc0
call fcn.00403210
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0xc]
xor edi, dword [ebp - 0x24]
lea ecx, [ebx - 0xfd67]
mov dword [0x606d18], 0x214c
mov dword [0x606d14], 0xff502c3a
mov dword [0x606d10], 0x148ba
cmp esi, ecx
jne 0x403de5
mov ecx, 0x606cc0
call fcn.004032e0
lea edx, [ebx - 0x12228]
cmp esi, edx
jne 0x403df9
mov dword [str.SunMonTueWedThuFriSat], 0x18152
mov ecx, 0x606cc0
mov dword [ebp - 8], 0xe9
call fcn.00401c60
lea edx, [edi - 0x1084c]
mov ecx, 0x1903
mov eax, 0xfc46
mov dword [ebp - 0x10], 0
mov dword [ebp + 8], edi
mov dword [str.1SNAN], ecx
mov dword [0x41205c], eax
cmp esi, edx
jne 0x403e3e
mov dword [str.1SNAN], ecx
mov dword [0x41205c], eax
mov ecx, 0x606cc0
call fcn.00401c60
mov ecx, 0x606cc0
call fcn.004032e0
mov eax, dword [ebp - 4]
mov dword [eax + esi*4], edi
inc esi
cmp esi, 0xc7e
mov dword [str.1SNAN], 0
mov dword [0x41205c], 0xffffb587
mov dword [ebp - 0xc], esi
jl 0x4037c1
mov ecx, 0x606cc0
call fcn.00401c60
mov eax, dword [0x606d48]
imul eax, dword [0x606d40]
mov ecx, dword [0x606d4c]
mov edx, ecx
add ecx, 0x5507
sub edx, eax
imul ecx, ecx, 0x13229165
mov al, byte [0x606d50]
mov dword [str._n3_t3_b3_a_], edx
mov dl, byte [0x606d51]
add al, 0x31
and dl, 0xba
sub al, 0x66
mov dword [0x606d3c], ecx
mov ecx, dword [ebp + 0x10]
and dl, 0xa4
mov byte [0x606d51], al
mov eax, dword [ebp - 4]
push ecx
mov byte [str.FtF3F], dl
lea edx, [eax + 0x602]
push eax
mov ecx, 0x606cc0
mov dword [str.1SNAN], 0
mov dword [0x41205c], 0x507e15e8
mov dword [0x606d18], 0x18152
mov dword [0x606d10], 0x1903
mov dword [0x606d14], 0xfc46
mov dword [0x606d48], 0x1321f1c8
mov byte [0x606d53], 0xa4
mov dword [0x606d4c], 0x13229165
mov byte [0x606d52], 8
mov dword [0x606cd4], edx
call fcn.00401d90
mov eax, dword [0x606cb8]
mov ecx, dword [eax + 4]
fld qword [0x40f270]
lea edi, [eax + 4]
fstp qword [ebp - 0x34]
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
mov ecx, 0x606ca4
call fcn.004022e0
push 1
mov ecx, 0x606ca4
mov esi, eax
call fcn.00402f10
mov dword [edi], esi
mov edx, dword [esi + 4]
mov dword [edx], esi
call dword [0x40f114]
mov esi, eax
mov eax, dword [0x606c9c]
push eax
call dword [0x40f110]
push 0
push 0
push esi
call dword [0x40f10c]
push 5
push 0x40f268
call dword [0x40f108]
push 5
push 0x40f25c
call dword [str.e_vH_b]
push 0x40f24c
call dword [0x40f100]
push 0x40f268
call dword [0x40f0fc]
push 0
push 0x40f268
push 0
call dword [0x40f130]
push 0x40f25c
call dword [0x40f128]
push 0x40f248
push 0x40f268
call dword [0x40f12c]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10