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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x20c4
call fcn.004cd3a0
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [0x4eceb0]
push esi
push edi
mov dword [esp + 0x24], ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44e4b3
sub ecx, edx
cmp ecx, 0x7d0
jbe 0x44e4dc
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.004a2730
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 0x44e526
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 0x44e5db
cmp cl, 0x20
je 0x44e530
cmp cl, 9
jne 0x44e536
mov cl, byte [eax + 1]
inc eax
jmp 0x44e526
push 0xff
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004ba990
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 0x44e64d
test dl, dl
je 0x44e58f
nop dword [eax]
mov ecx, 0x4d9e7c
mov al, 0x20
cmp dl, al
je 0x44e630
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x44e577
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x44e570
xor esi, esi
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x74]
call fcn.0049dbc0
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 0x44e658
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 0x44e8d1
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 0x44ecc4
test esi, esi
je 0x44e591
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x44e63b
cmp al, 9
jne 0x44e591
jmp 0x44e63b
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 0x44e5d9
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 0x44e6eb
mov dl, byte [esi]
test dl, dl
je 0x44e6eb
mov ecx, 0x4d9e7c
mov al, 0x20
cmp dl, al
je 0x44e6fc
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x44e6d7
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x44e6d0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44e6f0
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.004be0e9
add eax, 0xffffffbc
add esp, 4
cmp eax, 0x10
ja case.0x44e725.69
movzx eax, byte [eax + 0x44ee80]
jmp dword [eax*4 + 0x44ee6c]
mov byte [esp + 0xf], 1
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x44e73d
cmp al, 9
jne 0x44e740
inc ecx
jmp 0x44e733
test al, al
je 0x44e78d
cmp al, 0x2d
je 0x44e74c
cmp al, 0x2b
jne 0x44e753
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x44e78d
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x44e762
cmp al, 0x58
jne 0x44e78d
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x44e78d
push 0x10
push 0
push esi
call fcn.004b9a3b
add esp, 0xc
mov dword [esp + 0x3c], edx
or dword [esp + 0x10], eax
jmp case.0x44e725.69
push esi
call fcn.004b94ac
add esp, 4
mov dword [esp + 0x3c], edx
or dword [esp + 0x10], eax
jmp case.0x44e725.69
mov byte [esp + 0xd], 1
mov ecx, esi
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x44e7ba
cmp al, 9
jne 0x44e7bd
inc ecx
jmp 0x44e7b0
test al, al
je 0x44e80a
cmp al, 0x2d
je 0x44e7c9
cmp al, 0x2b
jne 0x44e7d0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x44e80a
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x44e7df
cmp al, 0x58
jne 0x44e80a
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x44e80a
push 0x10
push 0
push esi
call fcn.004b9a3b
add esp, 0xc
mov dword [esp + 0x3c], edx
or dword [esp + 0x18], eax
jmp case.0x44e725.69
push esi
call fcn.004b94ac
add esp, 4
mov dword [esp + 0x3c], edx
or dword [esp + 0x18], eax
jmp case.0x44e725.69
mov ah, 1
mov byte [esp + 0xc], ah
jmp 0x44e8a6
push 0x4def3c
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44e844
mov dword [esp + 0x20], 0x800
jmp case.0x44e725.69
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x44e850
cmp al, 9
jne 0x44e853
inc ecx
jmp 0x44e846
test al, al
je 0x44e895
cmp al, 0x2d
je 0x44e85f
cmp al, 0x2b
jne 0x44e866
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x44e895
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x44e875
cmp al, 0x58
jne 0x44e895
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x44e895
push 0x10
push 0
push esi
call fcn.004b9a3b
add esp, 0xc
jmp 0x44e89e
push esi
call fcn.004b94ac
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 0x44e8ba
cmp bl, 9
jne 0x44e8c0
mov bl, byte [esi + 1]
inc esi
jmp 0x44e8b0
test bl, bl
jne 0x44e6c0
mov esi, dword [esp + 0x10]
jmp 0x44e5db
mov esi, ecx
cmp al, 0x20
je 0x44e8db
cmp al, 9
jne 0x44e8e1
mov al, byte [esi + 1]
inc esi
jmp 0x44e8d3
push str.YWeek
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44e99d
movzx ecx, word [esp + 0x28]
movzx esi, word [esp + 0x2c]
test cl, 3
jne 0x44e951
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x44e922
mov eax, ecx
mov edi, 0x190
div edi
test edx, edx
jne 0x44e951
movaps xmm0, xmmword [0x4e1d00]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4e1d20]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4e1d40]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [esp + eax*4 + 0x3c]
jmp 0x44e97e
movaps xmm0, xmmword [0x4e1cf0]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4e1d10]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4e1d30]
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.0049d9e0
add esp, 8
jmp 0x44ee4b
push str.YDay
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x44ed2a
push str.YDay0
push esi
call fcn.004b626e
add esp, 8
test eax, eax
je 0x44ed2a
push str.WDay
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44ea19
mov ebx, dword [esp + 0x24]
movzx esi, word [esp + 0x2c]
inc esi
cmp byte [ebx + 0x17], al
jne 0x44e9ed
mov ebx, dword [ebx + 0xc]
mov al, byte [ebx + 0x15]
test al, 2
je 0x44ea04
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 0x44edfc
push str.ShortDate
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44ea48
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 0x44ecdb
push str.LongDate
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44ea77
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 0x44ecdb
push str.YearMonth
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44eaa6
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 0x44ecdb
push str.Time
push esi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x44eb6f
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 0x44eb12
test dl, dl
je 0x44ee4b
lea esi, [esp + 0x170]
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x44eb20
sub esi, ecx
lea eax, [esp + 0x170]
add eax, esi
test dl, dl
je 0x44eb43
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 0x44ed0c
push dword [esp + 0x28]
push dword [esp + 0x34]
call edi
jmp 0x44ed16
mov eax, dword [ebp + 0xc]
lea esi, [esp + 0x1120]
xor bh, bh
xor bl, bl
mov al, byte [eax]
test al, al
je 0x44ecac
mov edi, dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov byte [esp + 0x38], al
cmp al, 0x27
jne 0x44ebec
test bl, bl
je 0x44eba2
xor bl, bl
mov bh, 1
jmp 0x44ec89
test bh, bh
je 0x44ebde
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 1]
test al, al
je 0x44ebcc
push eax
call edi
test eax, eax
mov eax, dword [ebp + 0xc]
jne 0x44ebcf
cmp byte [eax + 1], 0x27
je 0x44ebcf
test bh, bh
mov bl, 1
sete bh
jmp 0x44ec89
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
mov byte [esi], al
inc esi
test bh, bh
sete bh
jmp 0x44ec89
mov byte [esi], 0x27
inc esi
test bh, bh
sete bh
jmp 0x44ec89
test bh, bh
jne 0x44ec86
push dword [esp + 0x38]
call edi
test eax, eax
je 0x44ec77
test bl, bl
je 0x44ec08
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.004b87b6
add esp, 8
test eax, eax
je 0x44ec37
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x44ec32
mov dword [esp + 0x14], 2
jmp 0x44ec81
cmp ecx, 1
jmp 0x44ec64
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
push str.hHmst
call fcn.004b87b6
add esp, 8
test eax, eax
je 0x44ec81
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x44ec61
mov dword [esp + 0x14], 1
jmp 0x44ec81
cmp ecx, 2
jne 0x44ec81
cmp dword [esp + 0x1c], 0
jne 0x44ec81
mov byte [esi], 0
inc esi
mov dword [esp + 0x1c], esi
jmp 0x44ec81
test bl, bl
jne 0x44ec81
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 0x44eb91
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
test bl, bl
je 0x44ecac
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 0x44ecd2
mov dword [esp + 0x14], 2
jmp 0x44ecdb
cmp edx, 2
jne 0x44eada
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 0x44eaff
mov byte [esp + 0x170], al
jmp 0x44eaff
push dword [esp + 0x20]
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x44ee4b
mov byte [esp + esi + 0x170], al
jmp 0x44ee4b
movzx ecx, word [esp + 0x28]
test cl, 3
jne 0x44ed7f
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x44ed50
mov eax, ecx
mov ecx, 0x190
div ecx
test edx, edx
jne 0x44ed7f
movaps xmm0, xmmword [0x4e1d00]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4e1d20]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4e1d40]
movups xmmword [esp + 0x60], xmm0
mov eax, dword [esp + eax*4 + 0x3c]
jmp 0x44edac
movaps xmm0, xmmword [0x4e1cf0]
movzx eax, word [esp + 0x2a]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4e1d10]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4e1d30]
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.004b626e
add esp, 8
test eax, eax
jne 0x44ee35
mov ebx, dword [esp + 0x24]
cmp byte [ebx + 0x17], al
jne 0x44edd2
mov ebx, dword [ebx + 0xc]
mov cl, byte [ebx + 0x15]
test cl, 2
je 0x44edeb
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 0x44ee17
mov ecx, ebx
call fcn.004013b0
and byte [ebx + 0x15], 0x8f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [0x4eb748], 0
je 0x44ee27
mov ecx, ebx
call fcn.004013b0
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.004053b0
add esp, 0xc
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x170]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004a2730
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8