Function at 0x45cf10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x20c4
call fcn.004db810
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [0x4fd110]
push esi
push edi
mov dword [esp + 0x24], ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45cf33
sub ecx, edx
cmp ecx, 0x7d0
jbe 0x45cf5c
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.004b01a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov byte [esp + 0x70], 0
mov cl, byte [eax]
test cl, cl
jne 0x45cfa6
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor esi, esi
mov dword [esp + 0x20], 0x400
xor ah, ah
mov dword [esp + 0x10], esi
xor edx, edx
mov dword [esp + 0x18], esi
mov byte [esp + 0xf], 0
mov byte [esp + 0xd], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov byte [esp + 0xe], ah
jmp 0x45d05b
cmp cl, 0x20
je 0x45cfb0
cmp cl, 9
jne 0x45cfb6
mov cl, byte [eax + 1]
inc eax
jmp 0x45cfa6
push 0xff
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004cc440
mov dl, byte [esp + 0x7c]
lea esi, [esp + 0x7c]
mov al, dl
mov byte [esp + 0x17b], 0
sub al, 0x30
add esp, 0xc
cmp al, 9
ja 0x45d0cd
test dl, dl
je 0x45d00f
nop dword [eax]
mov ecx, 0x4e902c
mov al, 0x20
cmp dl, al
je 0x45d0b0
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x45cff7
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x45cff0
xor esi, esi
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x74]
call fcn.004ab550
xor edx, edx
mov dword [esp + 0x24], 0x400
add esp, 4
mov dword [esp + 0x10], 0
xor ah, ah
mov dword [esp + 0x18], 0
mov byte [esp + 0xf], 0
mov byte [esp + 0xd], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov byte [esp + 0xe], dl
test esi, esi
jne 0x45d0d8
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatA]
mov al, byte [ecx]
test al, al
jne 0x45d351
xor edx, edx
mov byte [esp + 0xe], 1
xor ecx, ecx
test ah, ah
mov eax, esi
setne dl
or eax, 2
inc edx
cmp byte [esp + 0xf], cl
mov dword [esp + 0x14], edx
cmovne eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
or eax, 2
cmp byte [esp + 0xd], cl
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
jmp 0x45d744
test esi, esi
je 0x45d011
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45d0bb
cmp al, 9
jne 0x45d011
jmp 0x45d0bb
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor edx, edx
mov dword [esp + 0x20], 0x400
xor ah, ah
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0xf], 0
mov byte [esp + 0xd], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov byte [esp + 0xe], dl
cmp byte [esi], dl
je 0x45d059
mov dword [esp + 0x20], 0x400
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
mov byte [esp + 0xf], dl
mov byte [esp + 0xd], dl
mov byte [esp + 0xc], dl
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov byte [esp + 0xe], dl
nop word [eax + eax]
mov dword [esp + 0x38], esi
mov edi, esi
test esi, esi
je 0x45d16b
mov dl, byte [esi]
test dl, dl
je 0x45d16b
mov ecx, 0x4e902c
mov al, 0x20
cmp dl, al
je 0x45d17c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x45d157
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x45d150
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45d170
sub ecx, edx
lea edi, [ecx + esi]
mov eax, dword [esp + 0x38]
inc esi
mov bl, byte [edi]
mov byte [edi], 0
movsx eax, byte [eax]
push eax
call fcn.004cc965
add eax, 0xffffffbc
add esp, 4
cmp eax, 0x10
ja case.0x45d1a5.69
movzx eax, byte [eax + 0x45d900]
jmp dword [eax*4 + 0x45d8ec]
mov byte [esp + 0xf], 1
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x45d1bd
cmp al, 9
jne 0x45d1c0
inc ecx
jmp 0x45d1b3
test al, al
je 0x45d20d
cmp al, 0x2d
je 0x45d1cc
cmp al, 0x2b
jne 0x45d1d3
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x45d20d
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x45d1e2
cmp al, 0x58
jne 0x45d20d
movsx eax, byte [ecx + 2]
push eax
call fcn.004c4410
add esp, 4
test eax, eax
je 0x45d20d
push 0x10
push 0
push esi
call fcn.004c4c8d
add esp, 0xc
mov dword [esp + 0x3c], edx
or dword [esp + 0x10], eax
jmp case.0x45d1a5.69
push esi
call fcn.004c4db1
add esp, 4
mov dword [esp + 0x3c], edx
or dword [esp + 0x10], eax
jmp case.0x45d1a5.69
mov byte [esp + 0xd], 1
mov ecx, esi
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x45d23a
cmp al, 9
jne 0x45d23d
inc ecx
jmp 0x45d230
test al, al
je 0x45d28a
cmp al, 0x2d
je 0x45d249
cmp al, 0x2b
jne 0x45d250
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x45d28a
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x45d25f
cmp al, 0x58
jne 0x45d28a
movsx eax, byte [ecx + 2]
push eax
call fcn.004c4410
add esp, 4
test eax, eax
je 0x45d28a
push 0x10
push 0
push esi
call fcn.004c4c8d
add esp, 0xc
mov dword [esp + 0x3c], edx
or dword [esp + 0x18], eax
jmp case.0x45d1a5.69
push esi
call fcn.004c4db1
add esp, 4
mov dword [esp + 0x3c], edx
or dword [esp + 0x18], eax
jmp case.0x45d1a5.69
mov ah, 1
mov byte [esp + 0xc], ah
jmp 0x45d326
push 0x4ee978
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d2c4
mov dword [esp + 0x20], 0x800
jmp case.0x45d1a5.69
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x45d2d0
cmp al, 9
jne 0x45d2d3
inc ecx
jmp 0x45d2c6
test al, al
je 0x45d315
cmp al, 0x2d
je 0x45d2df
cmp al, 0x2b
jne 0x45d2e6
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x45d315
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x45d2f5
cmp al, 0x58
jne 0x45d315
movsx eax, byte [ecx + 2]
push eax
call fcn.004c4410
add esp, 4
test eax, eax
je 0x45d315
push 0x10
push 0
push esi
call fcn.004c4c8d
add esp, 0xc
jmp 0x45d31e
push esi
call fcn.004c4db1
add esp, 4
mov dword [esp + 0x20], eax
mov ah, byte [esp + 0xc]
mov byte [edi], bl
mov esi, edi
nop word [eax + eax]
cmp bl, 0x20
je 0x45d33a
cmp bl, 9
jne 0x45d340
mov bl, byte [esi + 1]
inc esi
jmp 0x45d330
test bl, bl
jne 0x45d140
mov esi, dword [esp + 0x10]
jmp 0x45d05b
mov esi, ecx
cmp al, 0x20
je 0x45d35b
cmp al, 9
jne 0x45d361
mov al, byte [esi + 1]
inc esi
jmp 0x45d353
push str.YWeek
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d41d
movzx ecx, word [esp + 0x28]
movzx esi, word [esp + 0x2c]
test cl, 3
jne 0x45d3d1
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x45d3a2
mov eax, ecx
mov edi, 0x190
div edi
test edx, edx
jne 0x45d3d1
movaps xmm0, xmmword [0x4f14e0]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f1500]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f1520]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [esp + eax*4 + 0x3c]
jmp 0x45d3fe
movaps xmm0, xmmword [0x4f14d0]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f14f0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f1510]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [esp + eax*4 + 0x3c]
movzx edx, word [esp + 0x2e]
add eax, edx
mov edx, ecx
push esi
push eax
lea ecx, [esp + 0x178]
call fcn.004ab370
add esp, 8
jmp 0x45d8cb
push str.YDay
push esi
call fcn.004c408e
add esp, 8
test eax, eax
je 0x45d7aa
push str.YDay0
push esi
call fcn.004c408e
add esp, 8
test eax, eax
je 0x45d7aa
push str.WDay
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d499
mov ebx, dword [esp + 0x24]
movzx esi, word [esp + 0x2c]
inc esi
cmp byte [ebx + 0x17], al
jne 0x45d46d
mov ebx, dword [ebx + 0xc]
mov al, byte [ebx + 0x15]
test al, 2
je 0x45d484
and al, 0x3d
mov byte [ebx + 0x15], al
mov eax, dword [ebx]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [ebx + 0x15]
and al, 0x9b
mov dword [ebx], esi
or al, 0x18
mov dword [ebx + 4], 0
mov byte [ebx + 0x15], al
jmp 0x45d87c
push str.ShortDate
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d4c8
mov eax, dword [esp + 0x10]
xor ecx, ecx
and eax, 0xfffffff5
mov dword [esp + 0x14], 2
or eax, 1
mov dword [esp + 0x10], eax
jmp 0x45d75b
push str.LongDate
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d4f7
mov eax, dword [esp + 0x10]
xor ecx, ecx
and eax, 0xfffffff6
mov dword [esp + 0x14], 2
or eax, 2
mov dword [esp + 0x10], eax
jmp 0x45d75b
push str.YearMonth
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d526
mov eax, dword [esp + 0x10]
xor ecx, ecx
and eax, 0xfffffffc
mov dword [esp + 0x14], 2
or eax, 8
mov dword [esp + 0x10], eax
jmp 0x45d75b
push str.Time
push esi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d5ef
mov eax, dword [esp + 0x18]
xor ecx, ecx
or eax, 2
mov dword [esp + 0x14], 1
cmp byte [esp + 0xd], cl
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
push 0xfaa
lea edx, [esp + 0x174]
push edx
push ecx
lea ecx, [esp + 0x34]
push ecx
push eax
push dword [esp + 0x34]
call edi
neg eax
sbb al, al
and byte [esp + 0x170], al
cmp dword [esp + 0x1c], 0
mov dl, byte [esp + 0xe]
jne 0x45d592
test dl, dl
je 0x45d8cb
lea esi, [esp + 0x170]
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x45d5a0
sub esi, ecx
lea eax, [esp + 0x170]
add eax, esi
test dl, dl
je 0x45d5c3
mov byte [eax], 0x20
inc eax
mov dword [esp + 0x1c], 0
inc esi
mov ecx, 0xfaa
sub ecx, esi
cmp dword [esp + 0x14], 2
push ecx
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x34]
push eax
jne 0x45d78c
push dword [esp + 0x28]
push dword [esp + 0x34]
call edi
jmp 0x45d796
mov eax, dword [ebp + 0xc]
lea esi, [esp + 0x1120]
xor bh, bh
xor bl, bl
mov al, byte [eax]
test al, al
je 0x45d72c
mov edi, dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov byte [esp + 0x38], al
cmp al, 0x27
jne 0x45d66c
test bl, bl
je 0x45d622
xor bl, bl
mov bh, 1
jmp 0x45d709
test bh, bh
je 0x45d65e
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 1]
test al, al
je 0x45d64c
push eax
call edi
test eax, eax
mov eax, dword [ebp + 0xc]
jne 0x45d64f
cmp byte [eax + 1], 0x27
je 0x45d64f
test bh, bh
mov bl, 1
sete bh
jmp 0x45d709
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
mov byte [esi], al
inc esi
test bh, bh
sete bh
jmp 0x45d709
mov byte [esi], 0x27
inc esi
test bh, bh
sete bh
jmp 0x45d709
test bh, bh
jne 0x45d706
push dword [esp + 0x38]
call edi
test eax, eax
je 0x45d6f7
test bl, bl
je 0x45d688
mov byte [esi], 0x27
inc esi
xor bl, bl
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
push str.dMyg
call fcn.004ca733
add esp, 8
test eax, eax
je 0x45d6b7
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x45d6b2
mov dword [esp + 0x14], 2
jmp 0x45d701
cmp ecx, 1
jmp 0x45d6e4
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
push str.hHmst
call fcn.004ca733
add esp, 8
test eax, eax
je 0x45d701
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x45d6e1
mov dword [esp + 0x14], 1
jmp 0x45d701
cmp ecx, 2
jne 0x45d701
cmp dword [esp + 0x1c], 0
jne 0x45d701
mov byte [esi], 0
inc esi
mov dword [esp + 0x1c], esi
jmp 0x45d701
test bl, bl
jne 0x45d701
mov byte [esi], 0x27
mov bl, 1
inc esi
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
mov byte [esi], al
inc esi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov al, byte [eax]
mov byte [esp + 0x38], al
test al, al
jne 0x45d611
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
test bl, bl
je 0x45d72c
mov byte [esi], 0x27
inc esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatA]
lea ecx, [esp + 0x1120]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov byte [esi], 0
test edx, edx
jne 0x45d752
mov dword [esp + 0x14], 2
jmp 0x45d75b
cmp edx, 2
jne 0x45d55a
push 0xfaa
lea eax, [esp + 0x174]
push eax
push ecx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x45d57f
mov byte [esp + 0x170], al
jmp 0x45d57f
push dword [esp + 0x20]
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x45d8cb
mov byte [esp + esi + 0x170], al
jmp 0x45d8cb
movzx ecx, word [esp + 0x28]
test cl, 3
jne 0x45d7ff
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x45d7d0
mov eax, ecx
mov ecx, 0x190
div ecx
test edx, edx
jne 0x45d7ff
movaps xmm0, xmmword [0x4f14e0]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f1500]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f1520]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [esp + eax*4 + 0x3c]
jmp 0x45d82c
movaps xmm0, xmmword [0x4f14d0]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f14f0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f1510]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [esp + eax*4 + 0x3c]
movzx ecx, word [esp + 0x2e]
push str.YDay
push esi
lea edi, [eax + ecx]
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x45d8b5
mov ebx, dword [esp + 0x24]
cmp byte [ebx + 0x17], al
jne 0x45d852
mov ebx, dword [ebx + 0xc]
mov cl, byte [ebx + 0x15]
test cl, 2
je 0x45d86b
and cl, 0x3d
mov byte [ebx + 0x15], cl
mov ecx, dword [ebx]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov cl, byte [ebx + 0x15]
mov eax, edi
and cl, 0x9b
cdq
or cl, 0x18
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov byte [ebx + 0x15], cl
jge 0x45d897
mov ecx, ebx
call fcn.004014d0
and byte [ebx + 0x15], 0x8f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [0x4fb974], 0
je 0x45d8a7
mov ecx, ebx
call fcn.004014d0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push edi
lea eax, [esp + 0x174]
push str._03d
push eax
call fcn.00405f00
add esp, 0xc
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x170]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b01a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8