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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea eax, [esp + 0x20]
push str.1234567890_:_
lea ecx, [esi + 0xd4]
push eax
call fcn.004ce090
mov eax, dword [eax]
mov ebp, 1
cmp ax, bp
mov dword [esp + 0x24], eax
jb 0x4475f5
cmp word [esp + 0x26], bp
jae 0x447616
mov cx, word [esi + 0xd8]
movsx eax, cx
cdq
sub eax, edx
mov word [esp + 0x16], cx
sar eax, 1
mov word [esp + 0x14], ax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
movsx ecx, word [esi + 0xec]
or eax, 0xffffffff
mov edx, dword [esi + 0xd0]
mov word [esp + 0x32], ax
mov word [esp + 0x30], ax
movsx eax, word [esi + 0xf0]
sub eax, ecx
xor edi, edi
inc eax
push edx
push eax
push edi
push edi
lea ecx, [esp + 0x4c]
mov word [esp + 0x3e], di
mov word [esp + 0x3c], di
call fcn.004c9320
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov ax, word [esi + 0xec]
movsx eax, ax
mov dword [esp + 0x30], edx
mov dx, word [esi + 0xee]
mov ebx, eax
mov word [esp + 0x2c], ax
movsx eax, dx
sub ebx, ecx
push eax
add word [esp + 0x34], bx
lea ecx, [esp + 0x30]
call fcn.00433eb0
mov cx, word [esi + 0xec]
mov dx, word [esi + 0xee]
mov ax, word [esi + 0xf0]
mov ebx, dword [esi + 0xc4]
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
mov word [esp + 0x10], ax
mov eax, dword [esi + 0xc0]
mov cx, dx
mov edx, dword [0x67a8f0]
test edx, eax
mov word [esp + 0x12], cx
mov word [esp + 0x34], bp
mov word [esp + 0x36], bp
je 0x44770d
mov eax, dword [esp + 0x34]
mov dword [0x694368], ebx
mov dword [0x694364], eax
mov ecx, dword [esi + 0xc8]
mov eax, dword [esi + 0xc0f4]
lea edx, [esi + 0x80f4]
push ecx
dec eax
push edx
push eax
lea ecx, [esp + 0x38]
push edi
push ecx
mov ecx, 0x694360
call fcn.004a1160
mov word [esp + 0x36], 2
mov edx, dword [esp + 0x34]
mov dword [0x694364], edx
mov dword [0x694368], ebx
mov eax, dword [esi + 0xc8]
dec eax
test eax, eax
jle 0x447796
lea ebp, [esi + 0x80f4]
movsx eax, word [esi + 0xf0]
movsx ecx, word [esi + 0xec]
sub eax, ecx
mov ecx, dword [esi + 0xc0f4]
inc eax
imul eax, dword [ebp]
cdq
dec ecx
idiv ecx
mov cx, word [esi + 0xf0]
mov dx, word [esi + 0xee]
sub cx, ax
mov eax, dword [esi + 0xcc]
add eax, edx
movsx eax, ax
push eax
movsx eax, cx
push eax
movsx edx, dx
movsx eax, cx
push edx
push eax
mov ecx, 0x694360
call fcn.0049fff0
mov ecx, dword [esi + 0xc8]
inc edi
add ebp, 4
dec ecx
cmp edi, ecx
jl 0x447735
movsx eax, word [esi + 0xee]
mov edx, dword [esi + 0xcc]
movsx ecx, word [esi + 0xec]
add edx, eax
push edx
push ecx
push eax
push ecx
mov ecx, 0x694360
call fcn.0049fff0
mov eax, dword [0x67a8e8]
mov ecx, dword [esi + 0xc0]
test eax, ecx
je 0x447802
movsx edx, word [esp + 0x12]
movsx eax, word [esp + 0x10]
mov word [esp + 0x36], 1
mov ecx, dword [esp + 0x34]
mov dword [0x694364], ecx
push edx
movsx ecx, word [esp + 0x1a]
movsx edx, word [esp + 0x18]
push eax
push ecx
push edx
mov ecx, 0x694360
mov dword [0x694368], ebx
call fcn.0049fff0
mov eax, dword [0x67a8ec]
mov ecx, dword [esi + 0xc0]
test eax, ecx
je 0x447ba0
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x447ba0
lea ecx, [esi + 0x80f4]
lea ebx, [esi + 0xf4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
cmp dword [ebx], 0
je 0x447b77
push ebx
call dword [sym.imp.MSVCRT.dll_localtime]
add esp, 4
test eax, eax
je 0x447b77
mov dx, word [eax]
mov cx, word [eax + 4]
mov word [esp + 0x44], dx
mov dx, word [eax + 8]
mov edi, dword [ebx + 4]
mov word [esp + 0x46], cx
mov cx, word [eax + 0xc]
mov word [esp + 0x48], dx
mov dx, word [eax + 0x10]
mov ax, word [eax + 0x14]
sub ax, 0x64
inc dx
mov word [esp + 0x4e], ax
mov eax, 0x10624dd3
mov word [esp + 0x4c], dx
imul edi
sar edx, 6
mov word [esp + 0x4a], cx
mov eax, dword [esi + 0xc0f8]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov word [esp + 0x50], dx
mov edx, dword [0x67a8e4]
test edx, eax
je 0x447999
mov ecx, dword [ebx]
mov edx, dword [esi + 0xc0fc]
mov eax, dword [esi + 0xc100]
sub ecx, edx
sub edi, eax
jns 0x4478dd
add edi, 0xf4240
dec ecx
mov eax, ecx
mov ebx, 0x3c
cdq
idiv ebx
mov eax, 0x88888889
mov word [esp + 0x44], dx
imul ecx
mov eax, edx
add eax, ecx
sar eax, 5
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv ebx
mov eax, 0x91a2b3c5
mov ebx, 0x18
mov word [esp + 0x46], dx
imul ecx
mov eax, edx
add eax, ecx
sar eax, 0xb
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv ebx
mov eax, 0xc22e4507
mov ebx, 0x1e
mov word [esp + 0x48], dx
imul ecx
mov eax, edx
add eax, ecx
sar eax, 0x10
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv ebx
mov eax, 0x679024d1
mov ebx, 0xc
mov word [esp + 0x4a], dx
imul ecx
mov eax, edx
sar eax, 0x14
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv ebx
mov eax, 0x2285619b
mov word [esp + 0x4c], dx
imul ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x10624dd3
mov word [esp + 0x4e], dx
imul edi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov word [esp + 0x50], dx
xor edx, edx
xor eax, eax
mov dword [esp + 0x65], edx
mov cx, word [esi + 0xe0]
mov dword [esp + 0x55], eax
mov dword [esp + 0x69], edx
mov dword [esp + 0x59], eax
mov dword [esp + 0x6d], edx
mov dword [esp + 0x5d], eax
mov word [esp + 0x71], dx
mov word [esp + 0x61], ax
mov byte [esp + 0x73], dl
mov byte [esp + 0x54], dl
mov edx, dword [esi + 0xdc]
mov byte [esp + 0x63], al
push eax
push ecx
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
mov byte [esp + 0x78], 0
call fcn.0043bed0
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x6c]
push eax
push ecx
call fcn.0043c020
lea edi, [esp + 0x84]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x20
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x54]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x20], edx
mov ebx, ecx
mov ecx, edx
cmp edx, ebx
jg 0x447a35
mov ecx, ebx
mov edx, dword [esi + 0xdc]
mov eax, 2
test edx, edx
jne 0x447a49
mov eax, 1
mov edx, dword [esi + 0xe4]
test edx, edx
jne 0x447a54
dec eax
mov edi, dword [esp + 0x26]
and edi, 0xffff
mov edx, edi
imul edx, eax
mov eax, dword [esp + 0x24]
push edx
and eax, 0xffff
imul eax, ecx
push eax
push 0
push 0
lea ecx, [esp + 0x4c]
call fcn.004c9320
mov eax, dword [esi + 0xdc]
mov ecx, 2
test eax, eax
jne 0x447a92
mov ecx, 1
mov eax, dword [esi + 0xe4]
test eax, eax
jne 0x447a9d
dec ecx
movsx eax, word [esi + 0xf0]
movsx edx, word [esi + 0xec]
sub eax, edx
mov edx, dword [esp + 0x14]
inc eax
mov ebp, dword [esi + 0xc0f4]
imul eax, dword [edx]
cdq
dec ebp
idiv ebp
mov dx, word [esi + 0xf0]
sub dx, ax
mov eax, edi
imul eax, ecx
mov word [esp + 0x18], dx
lea ecx, [esp + 0x3c]
cdq
sub eax, edx
sar eax, 1
add ax, word [esi + 0xf2]
mov word [esp + 0x1a], ax
lea eax, [esp + 0x18]
push eax
call fcn.004c9350
movsx eax, word [esp + 0x3c]
movsx ecx, word [esp + 0x40]
movsx edx, word [esp + 0x3e]
sub ecx, eax
push edi
inc ecx
push ecx
push edx
push eax
lea ecx, [esp + 0x44]
call fcn.004c9320
test ebx, ebx
jle 0x447b40
push 0
push 0
lea eax, [esp + 0x3c]
push 0xffffffffffffffff
push eax
lea eax, [esi + 0xd4]
lea ecx, [esp + 0x64]
push eax
push ecx
mov ecx, 0x694360
call fcn.004a7f80
add word [esp + 0x36], di
add word [esp + 0x3a], di
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x447b73
push 0
push 0
lea edx, [esp + 0x3c]
push 0xffffffffffffffff
lea eax, [esi + 0xd4]
push edx
push eax
lea eax, [esp + 0x78]
push eax
mov ecx, 0x694360
call fcn.004a7f80
add word [esp + 0x36], di
add word [esp + 0x3a], di
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esi + 0xc8]
inc eax
add edi, 4
add ebx, 8
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
jl 0x44783f
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x64
ret