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

Disassembly:
sub esp, 0x270
mov eax, dword [0x593ee8]
xor eax, esp
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 0x274]
mov eax, dword [esp + 0x278]
push ebx
push ebp
push esi
mov dword [esp + 0xc], ecx
mov ecx, dword [ecx]
push edi
xor esi, esi
xor ebx, ebx
xor ebp, ebp
xor edi, edi
cmp byte [ecx], bl
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], esi
jne 0x4493e8
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], 0xfffffffe
mov dword [eax + 0xc], 0xffffffff
jmp 0x4494bb
mov edx, dword [esp + 0x10]
push str.today
push edx
call fcn.0051fe60
test eax, eax
je 0x4494d6
lea eax, [esp + 0x14]
push eax
call dword [0x54e208]
movzx ecx, word [esp + 0x1a]
movzx edx, word [esp + 0x16]
movzx eax, word [esp + 0x14]
mov dword [esp + 0x28], ecx
movzx ecx, word [esp + 0x18]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x24]
push edx
call fcn.00449330
mov ebx, eax
mov ebp, edx
mov esi, ebx
add esi, 0x2a69bfff
mov edi, ebp
adc edi, 0xc9
cmp dword [esp + 0x28c], 0
je 0x4494ac
mov eax, dword [esp + 0x10]
push 0x5547ec
push eax
call fcn.0051fdf0
test eax, eax
jne 0x449495
mov ecx, dword [esp + 0x10]
push 0x5547cc
push ecx
call fcn.0051fdf0
test eax, eax
jne 0x449495
cmp dword [esp + 0x6c], eax
je 0x4494ac
mov edx, dword [esp + 0x10]
push 0x554d70
push edx
call fcn.0051fdf0
test eax, eax
je 0x4494ac
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x10]
push 0
push edi
push eax
call fcn.00449390
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov eax, dword [esp + 0x70]
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], esi
mov dword [eax + 0xc], edi
mov ecx, dword [esp + 0x27c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0054743a
add esp, 0x270
ret 0xc
mov eax, dword [esp + 0x10]
push str.yesterday
push eax
call fcn.0051fe60
test eax, eax
je 0x449512
lea ecx, [esp + 0x3c]
push ecx
call fcn.00445370
lea edx, [esp + 0x3c]
push edx
call fcn.00449330
mov ebx, eax
mov ebp, edx
add ebx, 0xd5964000
adc ebp, 0xffffff36
jmp 0x44943c
mov eax, dword [esp + 0x10]
push str.tomorrow
push eax
call fcn.0051fe60
test eax, eax
je 0x44954e
lea ecx, [esp + 0x3c]
push ecx
call fcn.00445370
lea edx, [esp + 0x3c]
push edx
call fcn.00449330
mov ebx, eax
mov ebp, edx
add ebx, 0x2a69c000
adc ebp, 0xc9
jmp 0x44943c
mov eax, dword [esp + 0x10]
push str.unknown
push eax
call fcn.0051fe60
test eax, eax
je 0x449572
or ebx, 0xffffffff
or ebp, 0xffffffff
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x44944c
mov ecx, dword [esp + 0x10]
xor eax, eax
push str.prev
push ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.0051fe60
test eax, eax
je 0x44959c
mov dword [esp + 0x34], 0xffffffff
jmp 0x449647
mov edx, dword [esp + 0x10]
push str.last
push edx
call fcn.0051fe60
test eax, eax
je 0x4495bc
mov dword [esp + 0x34], 0xffffffff
jmp 0x449647
mov eax, dword [esp + 0x10]
push str.past
push eax
call fcn.0051fe60
test eax, eax
je 0x4495d9
mov dword [esp + 0x34], 0xffffffff
jmp 0x449647
mov ecx, dword [esp + 0x10]
push str.next
push ecx
call fcn.0051fe60
test eax, eax
je 0x4495fb
mov eax, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
jmp 0x44964f
mov edx, dword [esp + 0x10]
push str.coming
push edx
call fcn.0051fe60
test eax, eax
je 0x44961d
mov eax, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
jmp 0x44964f
mov eax, dword [esp + 0x10]
push str.this
push eax
call fcn.0051fe60
test eax, eax
jne 0x449647
mov ecx, dword [esp + 0x10]
push str.current
push ecx
call fcn.0051fe60
test eax, eax
je 0x449b08
mov dword [esp + 0x38], 1
lea edx, [esp + 0x14]
push edx
call dword [0x54e208]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
push ecx
call fcn.00445440
test eax, eax
je 0x44999c
mov edx, dword [esp + 0x10]
push str.seconds
push edx
call fcn.0051fe60
test eax, eax
jne 0x449945
mov eax, dword [esp + 0x10]
push str.secs
push eax
call fcn.0051fe60
test eax, eax
jne 0x449945
mov ecx, dword [esp + 0x10]
push str.minutes
push ecx
call fcn.0051fe60
test eax, eax
jne 0x4498ee
mov edx, dword [esp + 0x10]
push str.mins
push edx
call fcn.0051fe60
test eax, eax
jne 0x4498ee
mov eax, dword [esp + 0x10]
push str.hours
push eax
call fcn.0051fe60
test eax, eax
je 0x449748
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
cmp dword [esp + 0x34], ebx
mov ebp, edx
mov ebx, eax
jg 0x44971b
push 8
push 0x61c46800
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push edx
push eax
call fcn.00547c70
sub ebx, eax
sbb ebp, edx
mov esi, 0xfffffffe
or edi, 0xffffffff
jmp 0x44944c
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
mov ecx, dword [esp + 0x24]
push 8
mov esi, eax
mov eax, dword [esp + 0x2c]
push 0x61c46800
push eax
push ecx
mov edi, edx
call fcn.00547c70
add esi, eax
adc edi, edx
jmp 0x44944c
mov edx, dword [esp + 0x10]
push str.weeks
push edx
call fcn.0051fe60
test eax, eax
je 0x44979e
lea eax, [esp + 0x14]
push eax
call fcn.004acba0
cmp dword [esp + 0x34], ebx
mov ebp, edx
mov ebx, eax
jg 0x449785
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push 0x580
push 0x28e44000
push ecx
push edx
jmp 0x449705
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
push 0x580
push 0x28e44000
jmp 0x449980
mov ecx, dword [esp + 0x10]
push str.months
push ecx
call fcn.0051fe60
test eax, eax
je 0x44981b
cmp dword [esp + 0x34], ebx
jg 0x4497e6
movzx edx, word [esp + 0x16]
sub edx, dword [esp + 0x24]
lea eax, [esp + 0x14]
push edx
push eax
mov esi, 0xfffffffe
or edi, 0xffffffff
call fcn.004453b0
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
mov ebx, eax
mov ebp, edx
jmp 0x44944c
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
mov ebx, eax
movzx eax, word [esp + 0x16]
add eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
push eax
push ecx
mov ebp, edx
call fcn.004453b0
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
mov esi, eax
mov edi, edx
jmp 0x44944c
mov eax, dword [esp + 0x10]
push str.years
push eax
call fcn.0051fe60
test eax, eax
je 0x449884
cmp dword [esp + 0x34], ebx
jg 0x449859
mov cx, word [esp + 0x24]
sub word [esp + 0x14], cx
lea edx, [esp + 0x14]
push edx
mov esi, 0xfffffffe
or edi, 0xffffffff
call fcn.004acba0
mov ebx, eax
mov ebp, edx
jmp 0x44944c
lea eax, [esp + 0x14]
push eax
call fcn.004acba0
mov cx, word [esp + 0x24]
add word [esp + 0x14], cx
mov ebp, edx
lea edx, [esp + 0x14]
push edx
mov ebx, eax
call fcn.004acba0
mov esi, eax
mov edi, edx
jmp 0x44944c
mov eax, dword [esp + 0x10]
push str.days
push eax
call fcn.0051fe60
test eax, eax
je 0x449b08
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
cmp dword [esp + 0x34], ebx
mov ebp, edx
mov ebx, eax
jg 0x4498be
push 0xc9
push 0x2a69c000
jmp 0x4496fb
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
mov ecx, dword [esp + 0x24]
push 0xc9
mov esi, eax
mov eax, dword [esp + 0x2c]
push 0x2a69c000
push eax
push ecx
mov edi, edx
call fcn.00547c70
add esi, eax
adc edi, edx
jmp 0x44944c
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
cmp dword [esp + 0x34], ebx
mov ebp, edx
mov ebx, eax
jg 0x449918
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push 0
push 0x23c34600
push eax
push ecx
jmp 0x449705
lea eax, [esp + 0x14]
push eax
call fcn.004acba0
mov ecx, dword [esp + 0x28]
push 0
push 0x23c34600
mov edi, edx
mov edx, dword [esp + 0x2c]
push ecx
push edx
mov esi, eax
call fcn.00547c70
add esi, eax
adc edi, edx
jmp 0x44944c
lea eax, [esp + 0x14]
push eax
call fcn.004acba0
cmp dword [esp + 0x34], ebx
mov ebp, edx
mov ebx, eax
jg 0x44996f
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push 0
push 0x989680
push ecx
push edx
jmp 0x449705
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
push 0
push 0x989680
mov edi, edx
mov edx, dword [esp + 0x30]
mov esi, eax
mov eax, dword [esp + 0x2c]
push edx
push eax
call fcn.00547c70
add esi, eax
adc edi, edx
jmp 0x44944c
mov ecx, dword [esp + 0x10]
push str.week
push ecx
call fcn.0051fe60
test eax, eax
je 0x449a52
push 2
lea edx, [esp + 0x28]
push edx
push 0x100c
push 0x400
xor esi, esi
call dword [0x594c60]
test eax, eax
je 0x4499ea
mov eax, dword [esp + 0x24]
lea ecx, [eax - 0x30]
cmp cx, 6
ja 0x4499ea
movzx esi, ax
sub esi, 0x2f
cmp esi, 7
jne 0x4499ea
xor esi, esi
lea edx, [esp + 0x3c]
push edx
call fcn.00445370
mov edi, dword [esp + 0x3c]
sub edi, esi
jns 0x4499ff
add edi, 7
lea eax, [esp + 0x3c]
push eax
call fcn.00449330
mov ebx, eax
mov eax, dword [esp + 0x34]
push 0
mov ebp, edx
cdq
push 7
push edx
push eax
call fcn.00547c70
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
push 0xc9
sub ecx, eax
push 0x2a69c000
sbb esi, edx
push esi
push ecx
call fcn.00547c70
add ebx, eax
adc ebp, edx
mov esi, ebx
add esi, 0x28e43fff
mov edi, ebp
adc edi, 0x580
jmp 0x44944c
mov edx, dword [esp + 0x10]
push str.month
push edx
call fcn.0051fe60
test eax, eax
je 0x449aab
lea eax, [esp + 0x24]
push eax
call fcn.00445370
mov ecx, dword [esp + 0x34]
add dword [esp + 0x2c], ecx
lea edx, [esp + 0x24]
mov esi, 1
push edx
mov dword [esp + 0x2c], esi
call fcn.00449330
add dword [esp + 0x2c], esi
mov ebx, eax
lea eax, [esp + 0x24]
push eax
mov ebp, edx
call fcn.00449330
mov esi, eax
mov edi, edx
add esi, 0xffffffff
adc edi, 0xffffffff
jmp 0x44944c
mov ecx, dword [esp + 0x10]
push str.year
push ecx
call fcn.0051fe60
test eax, eax
je 0x449b08
lea edx, [esp + 0x24]
push edx
call fcn.00445370
mov eax, dword [esp + 0x34]
add dword [esp + 0x30], eax
lea ecx, [esp + 0x24]
mov esi, 1
push ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call fcn.00449330
add dword [esp + 0x30], esi
mov ebp, edx
lea edx, [esp + 0x24]
push edx
mov ebx, eax
call fcn.00449330
mov esi, eax
mov edi, edx
add esi, 0xffffffff
adc edi, 0xffffffff
jmp 0x44944c
mov dword [esp + 0x3c], str.january
mov dword [esp + 0x40], str.february
mov dword [esp + 0x44], str.march
mov dword [esp + 0x48], str.april
mov dword [esp + 0x4c], 0x554ca0
mov dword [esp + 0x50], str.june
mov dword [esp + 0x54], str.july
mov dword [esp + 0x58], str.august
mov dword [esp + 0x5c], str.september
mov dword [esp + 0x60], str.october
mov dword [esp + 0x64], str.november
mov dword [esp + 0x68], str.december
mov dword [esp + 0x24], ebx
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + eax*4 + 0x3c]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.0051fe60
test eax, eax
jne 0x449ee1
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 0xc
mov dword [esp + 0x24], eax
jl 0x449b70
mov dword [esp + 0x3c], 0x554c58
mov dword [esp + 0x40], 0x554c54
mov dword [esp + 0x44], 0x554c50
mov dword [esp + 0x48], 0x554c4c
mov dword [esp + 0x4c], 0x554ca0
mov dword [esp + 0x50], 0x554c48
mov dword [esp + 0x54], 0x554c44
mov dword [esp + 0x58], 0x554c40
mov dword [esp + 0x5c], 0x554c3c
mov dword [esp + 0x60], 0x554c38
mov dword [esp + 0x64], 0x554c34
mov dword [esp + 0x68], 0x554c30
mov dword [esp + 0x24], ebx
nop
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + ecx*4 + 0x3c]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.0051fe60
test eax, eax
jne 0x449f22
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 0xc
mov dword [esp + 0x24], eax
jl 0x449c00
mov dword [esp + 0x3c], str.sunday
mov dword [esp + 0x40], str.monday
mov dword [esp + 0x44], str.tuesday
mov dword [esp + 0x48], str.wednesday
mov dword [esp + 0x4c], str.thursday
mov dword [esp + 0x50], str.friday
mov dword [esp + 0x54], str.saturday
mov dword [esp + 0x24], ebx
jmp 0x449c70
mov edx, dword [esp + 0x24]
mov eax, dword [esp + edx*4 + 0x3c]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.0051fe60
test eax, eax
jne 0x449f73
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 7
mov dword [esp + 0x24], eax
jl 0x449c70
mov dword [esp + 0x3c], 0x554be8
mov dword [esp + 0x40], 0x554be4
mov dword [esp + 0x44], 0x554be0
mov dword [esp + 0x48], 0x554bdc
mov dword [esp + 0x4c], 0x554bd8
mov dword [esp + 0x50], 0x554bd4
mov dword [esp + 0x54], 0x554bd0
mov dword [esp + 0x24], ebx
jmp 0x449ce0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + edx*4 + 0x3c]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.0051fe60
test eax, eax
jne 0x449fee
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 7
mov dword [esp + 0x24], eax
jl 0x449ce0
cmp dword [esp + 0x38], ebx
jne 0x44944c
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x28], eax
call fcn.00442eb0
cmp eax, 0x64
jb 0x44a0f9
push 0x5547cc
lea edx, [esp + 0x28]
push edx
call fcn.0051fdf0
test eax, eax
je 0x44a0f9
lea eax, [esp + 0x24]
push eax
call fcn.00442eb0
cmp eax, 0xc
ja 0x44a0f9
mov ebx, dword [esp + 0x10]
xor eax, eax
push ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
call fcn.00442eb0
push 0x5547cc
push ebx
mov word [esp + 0x1c], ax
call fcn.0051fdf0
mov eax, dword [ebx]
mov al, byte [eax]
test al, al
je 0x44a0c8
cmp al, 0x30
jb 0x449d9c
cmp al, 0x39
jbe 0x449da4
cmp al, 0x2c
jne 0x44a0c8
push ebx
call fcn.00442eb0
push 0x5547cc
push ebx
mov word [esp + 0x1e], ax
call fcn.0051fdf0
test eax, eax
je 0x44a3b2
mov eax, dword [ebx]
mov al, byte [eax]
test al, al
je 0x44a092
cmp al, 0x30
jb 0x449dd6
cmp al, 0x39
jbe 0x449dde
cmp al, 0x2c
jne 0x44a092
push ebx
call fcn.00442eb0
push 0x554bcc
push ebx
mov word [esp + 0x22], ax
mov esi, 0x2a69c000
mov edi, 0xc9
call fcn.0051fe60
test eax, eax
je 0x449ebc
mov eax, dword [ebx]
mov al, byte [eax]
test al, al
je 0x449ebc
cmp al, 0x30
jb 0x449e1a
cmp al, 0x39
jbe 0x449e22
cmp al, 0x2c
jne 0x449ebc
push ebx
call fcn.00442eb0
push 0x554bc8
push ebx
mov word [esp + 0x24], ax
mov esi, 0x61c46800
mov edi, 8
call fcn.0051fdf0
mov eax, dword [ebx]
mov al, byte [eax]
test al, al
je 0x449ebc
cmp al, 0x30
jb 0x449e52
cmp al, 0x39
jbe 0x449e56
cmp al, 0x2c
jne 0x449ebc
push ebx
call fcn.00442eb0
push 0x554bc8
push ebx
mov word [esp + 0x26], ax
mov esi, 0x23c34600
xor edi, edi
call fcn.0051fdf0
mov eax, ebx
call fcn.00442f10
test eax, eax
je 0x449ebc
push ebx
call fcn.00442eb0
push 0x5547ec
push ebx
mov word [esp + 0x28], ax
mov esi, 0x989680
call fcn.0051fe30
test eax, eax
jne 0x449ebc
push 0x554bc4
push ebx
call fcn.0051fdf0
test eax, eax
je 0x449ebc
push ebx
call fcn.00442eb0
mov word [esp + 0x22], ax
mov esi, 0x2710
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
mov ebx, eax
add esi, ebx
mov ebp, edx
adc edi, ebp
add esi, 0xffffffff
adc edi, 0xffffffff
mov dword [esp + 0x6c], 1
jmp 0x44944c
lea eax, [esp + 0x14]
push eax
call fcn.00445370
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
add dword [esp + 0x20], ecx
lea edx, [esp + 0x14]
add esi, 1
push edx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], esi
call fcn.00449330
add esi, 1
mov ebx, eax
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x14]
jmp 0x449a94
lea ecx, [esp + 0x3c]
push ecx
call dword [0x54e208]
movzx eax, word [esp + 0x3c]
add eax, dword [esp + 0x34]
movzx edx, word [esp + 0x40]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x14]
add esi, 1
push eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], esi
call fcn.00449330
add esi, 1
lea ecx, [esp + 0x14]
mov ebx, eax
mov dword [esp + 0x1c], esi
push ecx
jmp 0x449a95
lea edx, [esp + 0x14]
push edx
call dword [0x54e208]
movzx eax, word [esp + 0x1a]
movzx ecx, word [esp + 0x16]
movzx edx, word [esp + 0x14]
movzx esi, word [esp + 0x18]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], esi
call fcn.00449330
mov ebx, eax
mov eax, dword [esp + 0x34]
push 0
mov ebp, edx
cdq
push 7
push edx
push eax
call fcn.00547c70
mov ecx, eax
mov edi, edx
mov eax, esi
cdq
sub ecx, eax
mov eax, dword [esp + 0x24]
sbb edi, edx
cdq
push 0xc9
add ecx, eax
push 0x2a69c000
adc edi, edx
push edi
push ecx
call fcn.00547c70
add ebx, eax
adc ebp, edx
jmp 0x44943c
lea edx, [esp + 0x3c]
push edx
call dword [0x54e208]
movzx ecx, word [esp + 0x3c]
cmp ecx, 0x786b
movzx edx, word [esp + 0x42]
movzx esi, word [esp + 0x3e]
movzx ebx, word [esp + 0x40]
jle 0x44a01b
xor esi, esi
xor edi, edi
jmp 0x44a050
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
push esi
lea eax, [esp + 0x18]
push eax
mov word [esp + 0x22], dx
mov word [esp + 0x1c], cx
call fcn.004453b0
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x34]
push 0
cdq
push 7
push edx
push eax
call fcn.00547c70
mov ecx, eax
mov ebp, edx
mov eax, ebx
cdq
sub ecx, eax
mov eax, dword [esp + 0x24]
sbb ebp, edx
cdq
push 0xc9
add ecx, eax
push 0x2a69c000
adc ebp, edx
push ebp
push ecx
call fcn.00547c70
mov ebx, eax
mov ebp, edx
add ebx, esi
adc ebp, edi
jmp 0x44943c
lea edx, [esp + 0x14]
mov esi, 1
push edx
mov word [esp + 0x1e], si
call fcn.004acba0
movzx ecx, word [esp + 0x14]
mov ebx, eax
movzx eax, word [esp + 0x16]
mov ebp, edx
add eax, esi
lea edx, [esp + 0x3c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
push edx
jmp 0x44a3e3
lea ecx, [esp + 0x14]
mov esi, 1
push ecx
mov word [esp + 0x1e], si
mov word [esp + 0x1a], si
call fcn.004acba0
add word [esp + 0x14], si
mov ebp, edx
lea edx, [esp + 0x14]
push edx
mov ebx, eax
call fcn.004acba0
jmp 0x44a3ec
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0x30
jb 0x44a403
cmp al, 0x39
ja 0x44a403
add edx, 1
add ecx, 1
cmp edx, 6
jl 0x44a105
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea edx, [eax + 4]
jmp 0x44a140
mov bl, byte [ecx]
cmp bl, 0x30
jb 0x44a15e
cmp bl, 0x39
ja 0x44a15e
movzx esi, bl
lea eax, [eax + eax*4]
add ecx, 1
sub edx, 1
lea eax, [esi + eax*2 - 0x30]
jne 0x44a140
mov esi, dword [esp + 0x10]
mov word [esp + 0x14], ax
mov dword [esi], ecx
mov edx, 2
xor eax, eax
mov bl, byte [ecx]
cmp bl, 0x30
jb 0x44a18e
cmp bl, 0x39
ja 0x44a18e
movzx edi, bl
lea eax, [eax + eax*4]
add ecx, 1
sub edx, 1
lea eax, [edi + eax*2 - 0x30]
jne 0x44a170
mov dword [esi], ecx
mov word [esp + 0x16], ax
mov eax, ecx
xor esi, esi
lea esp, [esp]
mov bl, byte [eax]
cmp bl, 0x30
jb 0x44a3b2
cmp bl, 0x39
ja 0x44a3b2
add esi, 1
add eax, 1
cmp esi, 2
jl 0x44a1a0
mov edx, 2
xor eax, eax
mov bl, byte [ecx]
cmp bl, 0x30
jb 0x44a1e4
cmp bl, 0x39
ja 0x44a1e4
movzx esi, bl
lea eax, [eax + eax*4]
add ecx, 1
sub edx, 1
lea eax, [esi + eax*2 - 0x30]
jne 0x44a1c6
mov ebx, dword [esp + 0x10]
push 0x554bcc
push ebx
mov dword [ebx], ecx
mov word [esp + 0x22], ax
mov esi, 0x2a69c000
mov edi, 0xc9
call fcn.0051fe60
test eax, eax
je 0x44a38d
mov edx, dword [ebx]
mov eax, edx
xor ebp, ebp
mov cl, byte [eax]
cmp cl, 0x30
jb 0x44a38d
cmp cl, 0x39
ja 0x44a38d
add ebp, 1
add eax, 1
cmp ebp, 2
jl 0x44a212
mov edi, 2
xor eax, eax
mov esi, edx
lea ebx, [ebx]
mov cl, byte [esi]
cmp cl, 0x30
jb 0x44a25e
cmp cl, 0x39
ja 0x44a25e
lea edx, [eax + eax*4]
movzx eax, cl
add esi, 1
sub edi, 1
lea eax, [eax + edx*2 - 0x30]
jne 0x44a240
push 0x554bc8
mov dword [ebx], esi
push ebx
mov word [esp + 0x24], ax
mov esi, 0x61c46800
mov edi, 8
call fcn.0051fdf0
mov ecx, dword [ebx]
mov eax, ecx
xor ebp, ebp
mov dl, byte [eax]
cmp dl, 0x30
jb 0x44a38d
cmp dl, 0x39
ja 0x44a38d
add ebp, 1
add eax, 1
cmp ebp, 2
jl 0x44a280
mov edx, 2
xor eax, eax
mov esi, ecx
mov cl, byte [esi]
cmp cl, 0x30
jb 0x44a2c6
cmp cl, 0x39
ja 0x44a2c6
movzx ecx, cl
lea eax, [eax + eax*4]
add esi, 1
sub edx, 1
lea eax, [ecx + eax*2 - 0x30]
jne 0x44a2a8
push 0x554bc8
mov dword [ebx], esi
push ebx
mov word [esp + 0x26], ax
mov esi, 0x23c34600
xor edi, edi
call fcn.0051fdf0
mov ecx, dword [ebx]
mov eax, ecx
xor ebp, ebp
mov dl, byte [eax]
cmp dl, 0x30
jb 0x44a38d
cmp dl, 0x39
ja 0x44a38d
add ebp, 1
add eax, 1
cmp ebp, 2
jl 0x44a2e5
mov edx, 2
xor eax, eax
mov esi, ecx
lea ecx, [ecx]
mov cl, byte [esi]
cmp cl, 0x30
jb 0x44a32e
cmp cl, 0x39
ja 0x44a32e
movzx ecx, cl
lea eax, [eax + eax*4]
add esi, 1
sub edx, 1
lea eax, [ecx + eax*2 - 0x30]
jne 0x44a310
push 0x5547ec
mov dword [ebx], esi
push ebx
mov word [esp + 0x28], ax
mov esi, 0x989680
xor edi, edi
call fcn.0051fe30
test eax, eax
jne 0x44a38d
push 0x554bc4
push ebx
call fcn.0051fdf0
test eax, eax
je 0x44a38d
mov edx, dword [ebx]
lea esi, [edi + 3]
xor eax, eax
mov cl, byte [edx]
cmp cl, 0x30
jb 0x44a37f
cmp cl, 0x39
ja 0x44a37f
movzx ecx, cl
lea eax, [eax + eax*4]
add edx, 1
sub esi, 1
lea eax, [ecx + eax*2 - 0x30]
jne 0x44a361
mov dword [ebx], edx
mov word [esp + 0x22], ax
mov esi, 0x2710
xor edi, edi
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
mov ebx, eax
add esi, ebx
mov ebp, edx
adc edi, ebp
add esi, 0xffffffff
adc edi, 0xffffffff
mov dword [esp + 0x6c], 1
jmp 0x44944c
lea eax, [esp + 0x14]
mov esi, 1
push eax
mov word [esp + 0x1e], si
call fcn.004acba0
movzx ecx, word [esp + 0x16]
mov ebp, edx
movzx edx, word [esp + 0x14]
mov ebx, eax
lea eax, [esp + 0x3c]
add ecx, esi
push eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], esi
call fcn.00449330
mov esi, eax
mov edi, edx
add esi, 0xffffffff
adc edi, 0xffffffff
mov dword [esp + 0x6c], 1
jmp 0x44944c
xor edx, edx
cmp dword [esp + 0x28c], edx
je 0x44a438
mov ecx, dword [esp + 0x24]
mov al, byte [ecx]
test al, al
mov dword [esp + 0x38], edx
je 0x44a440
lea esp, [esp]
cmp al, 0x2d
jne 0x44a42c
add edx, 1
cmp edx, 2
je 0x44a438
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x44a420
jmp 0x44a440
mov dword [esp + 0x38], 1
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], ebx
je 0x44a49c
mov ecx, dword [esp + 0x10]
push 0x554d70
push ecx
call fcn.0051fdf0
test eax, eax
jne 0x44a49c
mov edx, dword [esp + 0x10]
push 0x5547ec
push edx
call fcn.0051fe30
test eax, eax
jne 0x44a4ba
mov eax, dword [esp + 0x10]
push 0x554bc4
push eax
call fcn.0051fdf0
test eax, eax
jne 0x44a49c
cmp dword [esp + 0x38], ebx
je 0x44a4ba
mov ecx, dword [esp + 0x10]
push 0x5547cc
push ecx
call fcn.0051fdf0
test eax, eax
je 0x44a4ba
mov edx, dword [esp + 0x10]
push edx
call fcn.00442eb0
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x14], eax
add ecx, 1
cmp ecx, 3
mov dword [esp + 0x24], ecx
jl 0x44a444
mov eax, dword [esp + 0x24]
cmp eax, 1
jne 0x44a5c7
mov edi, dword [esp + 0x14]
cmp edi, 0x64
mov esi, edi
jge 0x44a522
lea eax, [esp + 0x3c]
push eax
call dword [0x54e208]
movzx ecx, word [esp + 0x3c]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
lea edx, [esp + 0x24]
imul esi, esi, 0x64
push edx
push 0
push 0
push 0x20000030
push 1
push 0x400
add esi, edi
call dword [0x594c38]
test eax, eax
je 0x44a522
cmp esi, dword [esp + 0x24]
jbe 0x44a522
sub esi, 0x64
cmp esi, 0x786b
jle 0x44a530
xor ebx, ebx
xor ebp, ebp
jmp 0x44a568
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
push 1
lea eax, [esp + 0x18]
push eax
mov word [esp + 0x22], 1
mov word [esp + 0x1c], si
call fcn.004453b0
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
mov ebx, eax
mov ebp, edx
add esi, 1
xor eax, eax
cmp esi, 0x786b
jle 0x44a586
xor edx, edx
add eax, 0xffffffff
adc edx, 0xffffffff
mov esi, eax
mov edi, edx
jmp 0x44944c
push 1
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
push edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov word [esp + 0x22], 1
mov word [esp + 0x1c], si
call fcn.004453b0
lea eax, [esp + 0x14]
push eax
call fcn.004acba0
add eax, 0xffffffff
adc edx, 0xffffffff
mov esi, eax
mov edi, edx
jmp 0x44944c
cmp eax, 2
jne 0x44a6dd
push 0x104
lea ecx, [esp + 0x78]
push ecx
push 0x21
push 0x400
lea esi, [eax - 1]
call dword [0x594c60]
test eax, eax
je 0x44a5f6
movzx esi, word [esp + 0x74]
sub esi, 0x30
mov edx, dword [esp + 0x14]
mov eax, esi
sub eax, 2
mov dword [esp + 0x28], 1
je 0x44a617
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
jmp 0x44a623
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
lea esi, [esp + 0x24]
call fcn.004454c0
mov esi, dword [esp + 0x30]
cmp esi, 0x786b
mov edi, dword [esp + 0x2c]
jle 0x44a642
xor ebx, ebx
xor ebp, ebp
jmp 0x44a67c
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ax, word [esp + 0x28]
push edi
lea ecx, [esp + 0x18]
push ecx
mov word [esp + 0x22], ax
mov word [esp + 0x1c], si
call fcn.004453b0
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
mov ebx, eax
mov ebp, edx
add edi, 1
xor eax, eax
cmp esi, 0x786b
jle 0x44a69a
xor edx, edx
add eax, 0xffffffff
adc edx, 0xffffffff
mov esi, eax
mov edi, edx
jmp 0x44944c
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ax, word [esp + 0x28]
push edi
lea ecx, [esp + 0x18]
push ecx
mov word [esp + 0x22], ax
mov word [esp + 0x1c], si
call fcn.004453b0
lea edx, [esp + 0x14]
push edx
call fcn.004acba0
add eax, 0xffffffff
adc edx, 0xffffffff
mov esi, eax
mov edi, edx
jmp 0x44944c
cmp eax, 3
jne 0x44944c
push 0x104
lea esi, [eax - 2]
lea eax, [esp + 0x78]
push eax
push 0x21
push 0x400
call dword [0x594c60]
test eax, eax
je 0x44a70c
movzx esi, word [esp + 0x74]
sub esi, 0x30
sub esi, ebx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
je 0x44a735
sub esi, 2
mov dword [esp + 0x2c], edx
je 0x44a72b
mov dword [esp + 0x28], ecx
jmp 0x44a73d
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], eax
jmp 0x44a741
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], eax
lea esi, [esp + 0x24]
call fcn.004454c0
mov ebx, dword [esp + 0x10]
push 0x554bcc
push ebx
call fcn.0051fe60
test eax, eax
je 0x44942e
mov cx, word [esp + 0x30]
mov dx, word [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ax, word [esp + 0x28]
push ebx
mov word [esp + 0x18], cx
mov word [esp + 0x1a], dx
mov word [esp + 0x1e], ax
call fcn.00442eb0
push 0x554bc8
push ebx
mov word [esp + 0x24], ax
mov esi, 0x61c46800
mov edi, 8
call fcn.0051fdf0
test eax, eax
je 0x44a814
push ebx
call fcn.00442eb0
push 0x554bc8
push ebx
mov word [esp + 0x26], ax
mov esi, 0x23c34600
xor edi, edi
call fcn.0051fdf0
test eax, eax
je 0x44a814
push ebx
call fcn.00442eb0
push 0x5547ec
push ebx
mov word [esp + 0x28], ax
mov esi, 0x989680
call fcn.0051fe30
test eax, eax
jne 0x44a814
push 0x554bc4
push ebx
call fcn.0051fdf0
test eax, eax
je 0x44a814
push ebx
call fcn.00442eb0
mov word [esp + 0x22], ax
mov esi, 0x2710
lea ecx, [esp + 0x14]
push ecx
call fcn.004acba0
mov ebx, eax
add esi, ebx
mov ebp, edx
adc edi, ebp
add esi, 0xffffffff
adc edi, 0xffffffff
jmp 0x44944c