Function at 0x443570
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.004b9240
mov eax, dword [eax]
mov ebp, 1
cmp ax, bp
mov dword [esp + 0x24], eax
jb 0x4435a5
cmp word [esp + 0x26], bp
jae 0x4435c6
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.004b4a60
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.004330c0
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 [0x659a40]
test edx, eax
mov word [esp + 0x12], cx
mov word [esp + 0x34], bp
mov word [esp + 0x36], bp
je 0x4436bd
mov eax, dword [esp + 0x34]
mov dword [0x673498], ebx
mov dword [0x673494], 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, 0x673490
call fcn.004934c0
mov word [esp + 0x36], 2
mov edx, dword [esp + 0x34]
mov dword [0x673494], edx
mov dword [0x673498], ebx
mov eax, dword [esi + 0xc8]
dec eax
test eax, eax
jle 0x443746
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, 0x673490
call fcn.00492360
mov ecx, dword [esi + 0xc8]
inc edi
add ebp, 4
dec ecx
cmp edi, ecx
jl 0x4436e5
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, 0x673490
call fcn.00492360
mov eax, dword [0x659a38]
mov ecx, dword [esi + 0xc0]
test eax, ecx
je 0x4437b2
movsx edx, word [esp + 0x12]
movsx eax, word [esp + 0x10]
mov word [esp + 0x36], 1
mov ecx, dword [esp + 0x34]
mov dword [0x673494], ecx
push edx
movsx ecx, word [esp + 0x1a]
movsx edx, word [esp + 0x18]
push eax
push ecx
push edx
mov ecx, 0x673490
mov dword [0x673498], ebx
call fcn.00492360
mov eax, dword [0x659a3c]
mov ecx, dword [esi + 0xc0]
test eax, ecx
je 0x443b50
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x443b50
lea ecx, [esi + 0x80f4]
lea ebx, [esi + 0xf4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
cmp dword [ebx], 0
je 0x443b27
push ebx
call dword [sym.imp.MSVCRT.dll_localtime]
add esp, 4
test eax, eax
je 0x443b27
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 [0x659a34]
test edx, eax
je 0x443949
mov ecx, dword [ebx]
mov edx, dword [esi + 0xc0fc]
mov eax, dword [esi + 0xc100]
sub ecx, edx
sub edi, eax
jns 0x44388d
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.00438ed0
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x6c]
push eax
push ecx
call fcn.00439020
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 0x4439e5
mov ecx, ebx
mov edx, dword [esi + 0xdc]
mov eax, 2
test edx, edx
jne 0x4439f9
mov eax, 1
mov edx, dword [esi + 0xe4]
test edx, edx
jne 0x443a04
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.004b4a60
mov eax, dword [esi + 0xdc]
mov ecx, 2
test eax, eax
jne 0x443a42
mov ecx, 1
mov eax, dword [esi + 0xe4]
test eax, eax
jne 0x443a4d
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.004b4a90
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.004b4a60
test ebx, ebx
jle 0x443af0
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, 0x673490
call fcn.004996d0
add word [esp + 0x36], di
add word [esp + 0x3a], di
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x443b23
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, 0x673490
call fcn.004996d0
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 0x4437ef
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x64
ret