Function at 0x406d70
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x118
mov eax, dword [0x418cbc]
push ebx
push ebp
push esi
push edi
push 0x7f02
xor ebp, ebp
push ebp
mov dword [esp + 0x12c], eax
call dword [0x4142b8]
push eax
call dword [0x414268]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], 0x400
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov esi, dword [esp + 0x12c]
mov eax, 1
push esi
mov dword [0x4189ac], ebp
mov dword [0x4189a8], ebp
mov dword [0x41899c], ebp
mov dword [0x4189b0], eax
mov dword [0x4189a4], eax
mov dword [0x4189a0], eax
call dword [0x4142bc]
mov edi, dword [0x414320]
push ebp
push ebp
push 0x31
push esi
mov ebx, eax
call edi
cmp eax, ebp
je 0x406e08
push eax
push ebx
call dword [0x414078]
cmp eax, ebp
je 0x406e08
push eax
push ebx
call dword [0x414078]
push esi
call fcn.00403b90
push ebx
call fcn.00404080
add esp, 8
push ebx
push esi
mov ebp, eax
call dword [0x4142c0]
push 0
push str.iTLZero
push str.intl
call dword [0x414198]
push 0xc
mov dword [0x41899c], eax
push str.M_d_yyyy
lea eax, [esp + 0x54]
push eax
call dword [0x4141cc]
mov ebx, dword [0x41419c]
push 0xc
lea ecx, [esp + 0x50]
push ecx
push str.M_d_yyyy
push str.sShortDate
push str.intl
call ebx
push 0x4189b0
push 0x4189ac
lea edx, [esp + 0x54]
push 0x4189a8
push edx
call fcn.00403f90
add esp, 0x10
lea eax, [esp + 0x30]
push eax
mov dword [0x4189b0], 1
call dword [0x4141c4]
mov ax, word [esp + 0x38]
mov cx, word [esp + 0x3a]
mov edx, dword [esp + 0x3c]
mov word [0x419a10], ax
movsx eax, ax
push 3
mov dword [0x419900], eax
lea eax, [esp + 0x44]
push eax
push 0x418780
mov word [0x419a12], cx
mov word [0x419a14], dx
movsx ecx, cx
movsx edx, dx
push str.sTime
push str.intl
mov dword [0x419904], ecx
mov dword [0x419908], edx
call ebx
push 0
push ebp
lea ecx, [esp + 0x48]
push ecx
push 0x2c3
push 0x2bd
push esi
call fcn.00404160
mov ebx, dword [0x419900]
or eax, 0xffffffff
add esp, 0x18
cmp ebx, 0xc
mov dword [0x4198a8], eax
mov dword [0x4198a4], eax
mov dword [0x4198a0], ebx
jl 0x406f30
mov dword [0x4198f8], 1
push ebx
push esi
call fcn.00404100
mov eax, dword [0x419808]
add esp, 8
test eax, eax
jne 0x406fe6
mov eax, dword [0x4198f8]
test eax, eax
je 0x406f5c
mov eax, ebx
cdq
mov ecx, 0xc
idiv ecx
mov ebx, edx
test ebx, ebx
jne 0x406fe6
mov ebx, 0xc
lea edx, [esp + 0x30]
push edx
push ebx
call fcn.004043e0
add esp, 8
mov ebx, dword [0x414294]
lea eax, [esp + 0x30]
push eax
push 0x2bd
push esi
call ebx
mov ebp, dword [0x41429c]
push 0x7fff0000
push 0
push 0xb1
push 0x2bd
push esi
call ebp
mov eax, dword [0x419904]
cmp eax, dword [0x4198a4]
jne 0x406fba
cmp eax, 0xa
jge 0x407046
cmp eax, 0xa
mov dword [0x4198a4], eax
jge 0x407017
mov ecx, dword [0x4189a0]
test ecx, ecx
je 0x407017
add eax, 0x30
mov word [esp + 0x30], 0x30
mov word [esp + 0x32], ax
mov word [esp + 0x34], 0
jmp 0x407025
cmp ebx, 0xa
jge 0x406f69
mov eax, dword [0x41899c]
test eax, eax
je 0x406f69
add ebx, 0x30
mov word [esp + 0x30], 0x30
mov word [esp + 0x32], bx
mov word [esp + 0x34], 0
jmp 0x406f77
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.004043e0
add esp, 8
lea edx, [esp + 0x30]
push edx
push 0x2be
push esi
call ebx
push 0x7fff0000
push 0
push 0xb1
push 0x2be
push esi
call ebp
mov eax, dword [0x419908]
cmp eax, dword [0x4198a8]
jne 0x407058
cmp eax, 0xa
jge 0x4070b3
cmp eax, 0xa
mov dword [0x4198a8], eax
jge 0x407084
mov ecx, dword [0x4189a4]
test ecx, ecx
je 0x407084
add eax, 0x30
mov word [esp + 0x30], 0x30
mov word [esp + 0x32], ax
mov word [esp + 0x34], 0
jmp 0x407092
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.004043e0
add esp, 8
lea edx, [esp + 0x30]
push edx
push 0x2bf
push esi
call ebx
push 0x7fff0000
push 0
push 0xb1
push 0x2bf
push esi
call ebp
movsx eax, word [0x419a10]
push eax
push esi
call fcn.00404100
add esp, 8
lea ecx, [esp + 0x30]
push ecx
call dword [0x4141c4]
mov dx, word [esp + 0x36]
mov cx, word [esp + 0x30]
mov ax, word [esp + 0x32]
mov word [0x419a18], dx
mov dx, word [esp + 0x34]
movsx ebx, cx
mov word [0x419a1a], cx
mov word [0x419a1c], dx
movsx ecx, ax
mov edx, ebx
mov word [0x419a16], ax
mov dword [0x4197c8], 0
call fcn.00403ce0
mov dword [0x4189d4], eax
mov eax, dword [0x4189b0]
test eax, eax
jne 0x40714a
mov eax, ebx
cdq
mov ecx, 0x64
idiv ecx
mov dword [0x4189dc], 0x63
mov dword [0x4189e0], 0
mov word [0x419a1a], dx
jmp 0x40715e
mov dword [0x4189dc], 0x833
mov dword [0x4189e0], 0x7a8
mov ebx, dword [0x4142a0]
or edx, 0xffffffff
push 0x2c9
mov dword [0x419896], edx
push esi
mov word [0x41989a], dx
call ebx
push 0
push 0
push 0x14b
push eax
mov dword [esp + 0x20], eax
call edi
mov ebp, dword [0x4141dc]
push 0x20
lea eax, [esp + 0x68]
push eax
push 0x1009
push 0x400
call ebp
test eax, eax
je 0x4071c6
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
cmp eax, 6
je 0x4071be
cmp eax, 8
jne 0x4071c6
mov dword [esp + 0x18], 0x409
mov eax, dword [esp + 0x18]
push 0x40
lea edx, [esp + 0xa8]
push edx
push 0x1009
push eax
call ebp
lea ecx, [esp + 0xa4]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov dword [esp + 0x14], eax
xor ebp, ebp
mov ecx, dword [esp + 0x14]
push 0
push 0x40
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x24]
lea eax, [ebp + 0x15]
push eax
push ecx
push edx
call dword [0x4140ec]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa4]
push eax
push 0
push 0x143
push ecx
call edi
inc ebp
cmp ebp, 0xc
jl 0x4071f0
movsx edx, word [0x419a16]
mov eax, dword [esp + 0x10]
push 0
dec edx
push edx
push 0x14e
push eax
call edi
push 0x2ca
push esi
call ebx
movzx ecx, word [0x4189e0]
movzx edx, word [0x4189dc]
shl ecx, 0x10
or ecx, edx
push ecx
push 0
mov ebp, eax
push 0x465
push ebp
call edi
mov eax, dword [0x418ad8]
lea ecx, [esp + 0x1c]
push ecx
push 2
push 0x46b
push ebp
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], eax
call edi
push 0
push 0x2c2
push esi
call ebx
push eax
push 0x469
push ebp
call edi
push 0x2c5
push esi
call ebx
movzx edx, word [0x4189b8]
mov ebp, eax
movzx eax, word [0x4189b4]
shl edx, 0x10
or edx, eax
push edx
push 0
push 0x465
push ebp
call edi
mov ecx, dword [0x418ac4]
lea edx, [esp + 0x1c]
push edx
push 2
push 0x46b
push ebp
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], ecx
call edi
push 0
push 0x2bd
push esi
call ebx
push eax
push 0x469
push ebp
call edi
push 0x2cb
push esi
call ebx
mov ebp, eax
push 0xffffffffffffffec
push ebp
call dword [0x414318]
or eax, 0x200
push eax
push 0xffffffffffffffec
push ebp
call dword [0x4142e0]
push 0x63
push 0
push 0
push 0
push 0
push 0
push ebp
call dword [0x41427c]
mov ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x407360
mov ax, word [ebp*2 + 0x419a10]
cmp ax, word [ebp*2 + 0x419890]
je 0x4073ab
add ebp, 0x2bd
push ebp
push esi
call ebx
mov ebp, eax
call dword [0x414298]
cmp eax, ebp
mov ebp, dword [esp + 0x14]
je 0x4073ab
cmp ebp, 5
mov cx, word [ebp*2 + 0x419a10]
mov word [ebp*2 + 0x419890], cx
jne 0x4073ab
push ebp
push esi
call fcn.00404430
add esp, 8
inc ebp
cmp ebp, 5
mov dword [esp + 0x14], ebp
jle 0x407360
push esi
push 1
push 0x467
push 0x2c8
push esi
mov word [0x41934c], 0
call dword [0x41429c]
mov ebp, dword [esp + 0x130]
mov eax, dword [ebp + 0x1274]
add ebp, 0x1274
test eax, eax
je 0x40740b
test eax, eax
je 0x40740b
lea ecx, [ecx]
mov eax, dword [ebp]
mov edx, dword [eax]
push eax
mov dword [esp + 0x14], edx
call dword [0x4141bc]
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [ebp], eax
jne 0x4073f0
push ebp
call fcn.00405dd0
mov eax, dword [0x41935c]
add esp, 4
test eax, eax
mov dword [esp + 0x14], 0
jle 0x4075dc
mov ecx, dword [esp + 0x130]
mov ebx, 0x40c
mov dword [esp + 0x18], ecx
lea esp, [esp]
mov eax, dword [esp + 0x130]
mov ebp, dword [eax + 0x1274]
add eax, 0x1274
test ebp, ebp
mov dword [esp + 0x10], 0
je 0x407487
mov edi, edi
mov eax, dword [esp + 0x18]
lea edx, [ebp + 4]
push edx
push eax
call dword [0x414188]
test eax, eax
je 0x407635
mov ecx, dword [esp + 0x10]
mov ebp, dword [ebp]
inc ecx
test ebp, ebp
mov dword [esp + 0x10], ecx
jne 0x407460
or eax, 0xffffffff
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x11c], eax
xor ebp, ebp
movzx edx, word [ebp + 0x4145c4]
push esi
push 1
lea eax, [ebx - 0x40c]
push 0x467
add edx, eax
push edx
push esi
call dword [0x41429c]
add ebp, 2
cmp ebp, 0x10
jb 0x407496
lea eax, [esp + 0x40]
lea ebp, [ebx - 1]
push eax
lea ecx, [ebp - 1]
push ecx
push esi
call dword [0x414294]
lea edx, [esp + 0x40]
push edx
push ebp
push esi
call dword [0x414294]
mov ecx, dword [0x419808]
mov ebp, dword [0x4142a0]
xor eax, eax
test ecx, ecx
setne al
dec eax
and eax, 5
push eax
push ebx
push esi
call ebp
push eax
call dword [0x414280]
push ebx
push esi
call ebp
push 0
push 0
mov ebp, eax
push 0x184
push ebp
call edi
push 0x4198e0
push 0
push 0x181
push ebp
call edi
push 0x4198c0
push 1
push 0x181
push ebp
call edi
lea ecx, [ebx + 1]
push ecx
push esi
call dword [0x4142a0]
push 0
push 0
mov ebp, eax
push 0x469
push ebp
call edi
movzx edx, word [0x4189b8]
movzx eax, word [0x4189b4]
shl edx, 0x10
or edx, eax
push edx
push 0
push 0x465
push ebp
call edi
mov ecx, dword [0x418ac4]
lea edx, [esp + 0x1c]
push edx
push 2
push 0x46b
push ebp
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], ecx
call edi
push 0
lea eax, [ebx - 5]
push eax
push esi
call dword [0x4142a0]
push eax
push 0x469
push ebp
call edi
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [0x41935c]
inc eax
add ebp, 0x124
add ebx, 0x20
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebp
jl 0x407440
mov ebx, dword [0x4142a0]
call fcn.004050c0
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx + 0x1268]
neg eax
sbb eax, eax
and eax, 8
push eax
push 0x603
push edx
call dword [0x414258]
push 0
push 0x2dd
push esi
call ebx
push eax
call dword [0x414290]
mov eax, dword [esp + 0x2c]
push eax
call dword [0x414268]
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebp
pop ebx
call fcn.0040c9bf
add esp, 0x118
ret
mov eax, dword [esp + 0x10]
jmp 0x40748a