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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x45fa87
push eax
mov dword fs:[0], esp
sub esp, 0x2fc
push ebx
push esi
mov ecx, 0x4742b8
call fcn.004411c0
mov ebx, dword [esp + 0x314]
mov eax, dword [ebx + 0x50]
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
push str.SpeedLimits
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x423dfa
push ebp
push edi
jmp 0x422680
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], esi
mov byte [esp + 0x14], 0
mov ecx, ebx
mov dword [esp + 0x314], esi
call fcn.0041d6a0
push str.Download
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x42341c
mov ecx, ebx
call fcn.0041d6a0
push str.Rule
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x423401
mov edi, edi
lea ecx, [esp + 0x68]
call fcn.00440e50
push str.Speed
lea edx, [esp + 0x1c0]
push edx
mov ecx, ebx
mov byte [esp + 0x31c], 1
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 2
mov edx, ecx
jae 0x422712
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x42271d
mov eax, dword [ebp + 4]
jmp 0x422720
lea eax, [ebp + 4]
cmp edx, eax
je 0x422789
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422736
mov esi, eax
test esi, esi
jbe 0x422771
cmp edi, 0x10
mov edx, ecx
jae 0x422743
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x42276d
lea ecx, [esp + 0x14]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x1d4], 0x10
mov byte [esp + 0x314], 1
jb 0x4227b3
mov eax, dword [esp + 0x1c0]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x1d4], 0xf
mov dword [esp + 0x1d0], esi
mov byte [esp + 0x1c0], 0
mov eax, ecx
jae 0x4227d8
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x4227ec
cmp eax, 0xffff
jle 0x4227f1
mov eax, 0xa
mov ecx, ebx
mov dword [esp + 0x9c], eax
call fcn.0041d6a0
push str.Days
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x42296e
lea ecx, [esp + 0x2b8]
push ecx
mov ecx, dword [esp + 0x320]
call fcn.00421700
mov edi, eax
mov ebp, dword [esp + 0x28]
cmp ebp, 0x10
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x314], 3
mov ecx, ebx
jae 0x422844
lea ecx, [esp + 0x14]
cmp dword [edi + 0x18], 0x10
jb 0x42284f
mov eax, dword [edi + 4]
jmp 0x422852
lea eax, [edi + 4]
cmp ecx, eax
je 0x4228bd
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422868
mov esi, eax
test esi, esi
jbe 0x4228a7
cmp ebp, 0x10
mov edx, ebx
jae 0x42294f
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x4228a3
lea ecx, [esp + 0x14]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
push edi
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x2d0], 0x10
mov byte [esp + 0x314], 1
jb 0x4228e7
mov edx, dword [esp + 0x2bc]
push edx
call fcn.0044b92d
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x2d0], 0xf
mov dword [esp + 0x2cc], 0
mov byte [esp + 0x2bc], 0
je 0x42292e
cmp ebp, 0x10
mov esi, ebx
jae 0x422918
lea esi, [esp + 0x14]
xor ecx, ecx
mov edi, 0x462398
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x42292a
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x422939
xor edx, edx
test eax, eax
setne dl
test edx, edx
je 0x422956
cmp ebp, 0x10
mov eax, ebx
jae 0x422944
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
jmp 0x42295b
mov ecx, ebx
jmp 0x422879
mov eax, 0x7f
mov ebx, dword [esp + 0x31c]
and eax, 0x7f
mov dword [esp + 0xa0], eax
xor esi, esi
mov eax, dword [ebx + 0x50]
xor ecx, ecx
cmp eax, esi
setne cl
push str.Date
mov dword [ebx + 0x54], esi
mov dword [esp + 0x70], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x422cdb
push str.Year
lea edx, [esp + 0x2f4]
push edx
mov ecx, ebx
mov dword [esp + 0x74], 1
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 4
mov edx, ecx
jae 0x4229cf
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x4229da
mov eax, dword [ebp + 4]
jmp 0x4229dd
lea eax, [ebp + 4]
cmp edx, eax
je 0x422a46
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x4229f3
mov esi, eax
test esi, esi
jbe 0x422a2e
cmp edi, 0x10
mov edx, ecx
jae 0x422a00
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x422a2a
lea ecx, [esp + 0x14]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x308], 0x10
mov byte [esp + 0x314], 1
jb 0x422a70
mov eax, dword [esp + 0x2f4]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x308], 0xf
mov dword [esp + 0x304], esi
mov byte [esp + 0x2f4], 0
mov eax, ecx
jae 0x422a95
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, 0x76c
jl 0x422aac
cmp eax, 0xbb8
jle 0x422ab1
mov eax, 0x7d3
push str.Month
lea ecx, [esp + 0xe0]
push ecx
mov ecx, ebx
mov dword [esp + 0x78], eax
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 5
mov edx, ecx
jae 0x422ae6
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x422af1
mov eax, dword [ebp + 4]
jmp 0x422af4
lea eax, [ebp + 4]
cmp edx, eax
je 0x422b5d
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422b0a
mov esi, eax
test esi, esi
jbe 0x422b45
cmp edi, 0x10
mov edx, ecx
jae 0x422b17
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x422b41
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0xf4], 0x10
mov byte [esp + 0x314], 1
jb 0x422b87
mov eax, dword [esp + 0xe0]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0xf4], 0xf
mov dword [esp + 0xf0], esi
mov byte [esp + 0xe0], 0
mov eax, ecx
jae 0x422bac
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, 1
jl 0x422bbf
cmp eax, 0xc
jle 0x422bc4
mov eax, 1
push 0x465ab4
lea ecx, [esp + 0x1f8]
push ecx
mov ecx, ebx
mov dword [esp + 0x7c], eax
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 6
mov edx, ecx
jae 0x422bf9
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x422c04
mov eax, dword [ebp + 4]
jmp 0x422c07
lea eax, [ebp + 4]
cmp edx, eax
je 0x422c70
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422c1d
mov esi, eax
test esi, esi
jbe 0x422c58
cmp edi, 0x10
mov edx, ecx
jae 0x422c2a
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x422c54
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x20c], 0x10
mov byte [esp + 0x314], 1
jb 0x422c9a
mov eax, dword [esp + 0x1f8]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x20c], 0xf
mov dword [esp + 0x208], esi
mov byte [esp + 0x1f8], 0
mov eax, ecx
jae 0x422cbf
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, 1
jl 0x422cd2
cmp eax, 0x1f
jle 0x422cd7
mov eax, 1
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x50]
xor ecx, ecx
cmp eax, esi
setne cl
push str.From
mov dword [ebx + 0x54], esi
mov dword [esp + 0x80], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x42304a
push str.Hour
lea edx, [esp + 0x118]
push edx
mov ecx, ebx
mov dword [esp + 0x84], 1
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 7
mov edx, ecx
jae 0x422d42
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x422d4d
mov eax, dword [ebp + 4]
jmp 0x422d50
lea eax, [ebp + 4]
cmp edx, eax
je 0x422dba
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422d66
mov esi, eax
test esi, esi
jbe 0x422da2
cmp edi, 0x10
mov edx, ecx
jae 0x422d73
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
lea eax, [esi + edx]
push eax
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x422d9e
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x12c], 0x10
mov byte [esp + 0x314], 1
jb 0x422de4
mov ecx, dword [esp + 0x118]
push ecx
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x12c], 0xf
mov dword [esp + 0x128], esi
mov byte [esp + 0x118], 0
mov eax, ecx
jae 0x422e09
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x422e1b
cmp eax, 0x17
jle 0x422e1d
xor eax, eax
push str.Minute
lea edx, [esp + 0x2d8]
push edx
mov ecx, ebx
mov dword [esp + 0x8c], eax
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 8
mov edx, ecx
jae 0x422e55
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x422e60
mov eax, dword [ebp + 4]
jmp 0x422e63
lea eax, [ebp + 4]
cmp edx, eax
je 0x422ecd
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422e79
mov esi, eax
test esi, esi
jbe 0x422eb5
cmp edi, 0x10
mov edx, ecx
jae 0x422e86
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
lea eax, [esi + edx]
push eax
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x422eb1
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x2ec], 0x10
mov byte [esp + 0x314], 1
jb 0x422ef7
mov ecx, dword [esp + 0x2d8]
push ecx
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x2ec], 0xf
mov dword [esp + 0x2e8], esi
mov byte [esp + 0x2d8], 0
mov eax, ecx
jae 0x422f1c
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x422f2e
cmp eax, 0x3b
jle 0x422f30
xor eax, eax
push str.Second
lea edx, [esp + 0x150]
push edx
mov ecx, ebx
mov dword [esp + 0x90], eax
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 9
mov edx, ecx
jae 0x422f68
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x422f73
mov eax, dword [ebp + 4]
jmp 0x422f76
lea eax, [ebp + 4]
cmp edx, eax
je 0x422fe0
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x422f8c
mov esi, eax
test esi, esi
jbe 0x422fc8
cmp edi, 0x10
mov edx, ecx
jae 0x422f99
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
lea eax, [esi + edx]
push eax
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x422fc4
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x164], 0x10
mov byte [esp + 0x314], 1
jb 0x42300a
mov ecx, dword [esp + 0x150]
push ecx
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x164], 0xf
mov dword [esp + 0x160], esi
mov byte [esp + 0x150], 0
mov eax, ecx
jae 0x42302f
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x423041
cmp eax, 0x3b
jle 0x423043
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 0x50]
xor edx, edx
cmp eax, esi
setne dl
push 0x465a90
mov ecx, ebx
mov dword [ebx + 0x54], esi
mov dword [esp + 0x84], esi
mov dword [ebx + 0x5c], edx
call fcn.0041e0f0
test al, al
je 0x4233b6
push str.Hour
lea eax, [esp + 0x230]
push eax
mov ecx, ebx
mov dword [esp + 0x88], 1
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0xa
mov edx, ecx
jae 0x4230b1
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x4230bc
mov eax, dword [ebp + 4]
jmp 0x4230bf
lea eax, [ebp + 4]
cmp edx, eax
je 0x423128
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x4230d5
mov esi, eax
test esi, esi
jbe 0x423110
cmp edi, 0x10
mov edx, ecx
jae 0x4230e2
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x42310c
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x244], 0x10
mov byte [esp + 0x314], 1
jb 0x423152
mov eax, dword [esp + 0x230]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x244], 0xf
mov dword [esp + 0x240], esi
mov byte [esp + 0x230], 0
mov eax, ecx
jae 0x423177
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x423189
cmp eax, 0x17
jle 0x42318b
xor eax, eax
push str.Minute
lea ecx, [esp + 0x188]
push ecx
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0xb
mov edx, ecx
jae 0x4231c3
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x4231ce
mov eax, dword [ebp + 4]
jmp 0x4231d1
lea eax, [ebp + 4]
cmp edx, eax
je 0x42323a
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x4231e7
mov esi, eax
test esi, esi
jbe 0x423222
cmp edi, 0x10
mov edx, ecx
jae 0x4231f4
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x42321e
lea ecx, [esp + 0x14]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x19c], 0x10
mov byte [esp + 0x314], 1
jb 0x423264
mov edx, dword [esp + 0x188]
push edx
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x19c], 0xf
mov dword [esp + 0x198], esi
mov byte [esp + 0x188], 0
mov eax, ecx
jae 0x423289
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x42329b
cmp eax, 0x3b
jle 0x42329d
xor eax, eax
mov dword [esp + 0x94], eax
push str.Second
lea eax, [esp + 0x2a0]
push eax
mov ecx, ebx
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0xc
mov edx, ecx
jae 0x4232d5
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x4232e0
mov eax, dword [ebp + 4]
jmp 0x4232e3
lea eax, [ebp + 4]
cmp edx, eax
je 0x42334c
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x4232f9
mov esi, eax
test esi, esi
jbe 0x423334
cmp edi, 0x10
mov edx, ecx
jae 0x423306
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x423330
lea ecx, [esp + 0x14]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x2b4], 0x10
mov byte [esp + 0x314], 1
jb 0x423376
mov eax, dword [esp + 0x2a0]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, 0x10
mov dword [esp + 0x2b4], 0xf
mov dword [esp + 0x2b0], esi
mov byte [esp + 0x2a0], 0
mov eax, ecx
jae 0x42339b
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x4233ad
cmp eax, 0x3b
jle 0x4233af
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x50]
xor ecx, ecx
cmp eax, esi
setne cl
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041dc20
lea edx, [esp + 0x68]
push edx
mov ecx, 0x474ab8
call fcn.00403110
lea ecx, [esp + 0x68]
mov byte [esp + 0x314], 0
call fcn.00440e70
push str.Rule
mov ecx, ebx
call fcn.0041e0f0
test al, al
jne 0x4226d0
mov ecx, ebx
call fcn.0041dc20
push str.Download
mov ecx, ebx
call fcn.0041e0f0
test al, al
jne 0x4226b3
mov eax, dword [ebx + 0x50]
xor ecx, ecx
cmp eax, esi
setne cl
push str.Upload
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x423dad
mov ecx, ebx
call fcn.0041d6a0
push str.Rule
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x423d92
jmp 0x423460
lea ecx, [esp + 0x2c]
call fcn.00440e50
push str.Speed
lea edx, [esp + 0xa8]
push edx
mov ecx, ebx
mov byte [esp + 0x31c], 0xd
call fcn.00421720
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0xe
mov edx, ecx
jae 0x4234a2
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x4234ad
mov eax, dword [ebp + 4]
jmp 0x4234b0
lea eax, [ebp + 4]
cmp edx, eax
je 0x423519
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x4234c6
mov esi, eax
test esi, esi
jbe 0x423501
cmp edi, 0x10
mov edx, ecx
jae 0x4234d3
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x4234fd
lea ecx, [esp + 0x14]
mov byte [ecx + eax], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
xor esi, esi
mov eax, dword [esp + 0xbc]
mov ebp, 0x10
cmp eax, ebp
mov byte [esp + 0x314], 0xd
jb 0x423549
mov eax, dword [esp + 0xa8]
push eax
call fcn.0044b92d
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
add esp, 4
cmp edi, ebp
mov dword [esp + 0xbc], 0xf
mov dword [esp + 0xb8], esi
mov byte [esp + 0xa8], 0
mov eax, ecx
jae 0x42356d
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x423581
cmp eax, 0xffff
jle 0x423586
mov eax, 0xa
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.0041d6a0
push str.Days
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x4236c5
lea ecx, [esp + 0x264]
push ecx
mov ecx, ebx
call fcn.00421700
mov ebp, eax
mov edi, dword [esp + 0x28]
cmp edi, 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0xf
mov edx, ecx
jae 0x4235d1
lea edx, [esp + 0x14]
cmp dword [ebp + 0x18], 0x10
jb 0x4235dc
mov eax, dword [ebp + 4]
jmp 0x4235df
lea eax, [ebp + 4]
cmp edx, eax
je 0x423640
mov eax, dword [esp + 0x24]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x4235f5
mov esi, eax
test esi, esi
jbe 0x423630
cmp edi, 0x10
mov edx, ecx
jae 0x423602
lea edx, [esp + 0x14]
mov ecx, edx
sub eax, esi
push eax
add edx, esi
push edx
push ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, esi
add esp, 0xc
cmp ecx, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jae 0x42362c
lea ecx, [esp + 0x14]
mov byte [eax + ecx], 0
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x1c]
call fcn.004022a0
xor esi, esi
mov eax, dword [esp + 0x27c]
mov edi, 0x10
cmp eax, edi
mov byte [esp + 0x314], 0xd
jb 0x423668
mov eax, dword [esp + 0x268]
push eax
call fcn.0044b92d
add esp, 4
mov ecx, dword [esp + 0x24]
push esi
push 0x462398
push ecx
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x28c], 0xf
mov dword [esp + 0x288], esi
mov byte [esp + 0x278], 0
call fcn.00401450
test eax, eax
je 0x4236b4
cmp dword [esp + 0x28], edi
mov eax, dword [esp + 0x14]
jae 0x4236a9
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
jmp 0x4236b9
mov eax, 0x7f
and eax, 0x7f
mov dword [esp + 0x64], eax
mov ebp, 0x10
mov eax, dword [ebx + 0x50]
xor edx, edx
cmp eax, esi
setne dl
push str.Date
mov ecx, ebx
mov dword [ebx + 0x54], esi
mov dword [esp + 0x34], esi
mov dword [ebx + 0x5c], edx
call fcn.0041e0f0
test al, al
je 0x42393e
push str.Year
lea eax, [esp + 0xc4]
push eax
mov ecx, ebx
mov dword [esp + 0x38], 1
call fcn.00421720
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov ebp, 0x10
cmp eax, ebp
mov byte [esp + 0x314], 0x10
jae 0x423728
lea ecx, [esp + 0x14]
cmp dword [esi + 0x18], ebp
jb 0x423732
mov eax, dword [esi + 4]
jmp 0x423735
lea eax, [esi + 4]
xor edi, edi
cmp ecx, eax
je 0x423754
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x18]
call fcn.00401cd0
push 0xffffffffffffffff
push edi
push esi
lea ecx, [esp + 0x1c]
call fcn.004022a0
cmp dword [esp + 0xd8], ebp
mov byte [esp + 0x314], 0xd
jb 0x423775
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.0044b92d
add esp, 4
mov eax, dword [esp + 0x28]
mov ebp, 0xf
cmp eax, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], edi
mov byte [esp + 0xc4], 0
jae 0x4237a1
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, 0x76c
jl 0x4237b8
cmp eax, 0xbb8
jle 0x4237bd
mov eax, 0x7d3
push str.Month
lea edx, [esp + 0xfc]
push edx
mov ecx, ebx
mov dword [esp + 0x3c], eax
call fcn.00421720
mov esi, eax
cmp dword [esp + 0x28], 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0x11
jae 0x4237ee
lea ecx, [esp + 0x14]
cmp dword [esi + 0x18], 0x10
jb 0x4237f9
mov eax, dword [esi + 4]
jmp 0x4237fc
lea eax, [esi + 4]
cmp ecx, eax
je 0x423819
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x18]
call fcn.00401cd0
push 0xffffffffffffffff
push edi
push esi
lea ecx, [esp + 0x1c]
call fcn.004022a0
cmp dword [esp + 0x110], 0x10
mov byte [esp + 0x314], 0xd
jb 0x42383b
mov eax, dword [esp + 0xfc]
push eax
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x28], 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x110], ebp
mov dword [esp + 0x10c], edi
mov byte [esp + 0xfc], 0
jae 0x423860
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, 1
jl 0x423873
cmp eax, 0xc
jle 0x423878
mov eax, 1
push 0x465ab4
lea ecx, [esp + 0x134]
push ecx
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.00421720
mov esi, eax
cmp dword [esp + 0x28], 0x10
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x314], 0x12
jae 0x4238a9
lea ecx, [esp + 0x14]
cmp dword [esi + 0x18], 0x10
jb 0x4238b4
mov eax, dword [esi + 4]
jmp 0x4238b7
lea eax, [esi + 4]
cmp ecx, eax
je 0x4238d4
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x18]
call fcn.00401cd0
push 0xffffffffffffffff
push edi
push esi
lea ecx, [esp + 0x1c]
call fcn.004022a0
cmp dword [esp + 0x148], 0x10
mov byte [esp + 0x314], 0xd
jb 0x4238f6
mov edx, dword [esp + 0x134]
push edx
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x28], 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x148], ebp
mov dword [esp + 0x144], edi
mov byte [esp + 0x134], 0
jae 0x42391b
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, 1
jl 0x42392e
cmp eax, 0x1f
jle 0x423933
mov eax, 1
mov dword [esp + 0x3c], eax
xor esi, esi
mov ebp, 0x10
mov eax, dword [ebx + 0x50]
xor ecx, ecx
cmp eax, esi
setne cl
push str.From
mov dword [ebx + 0x54], esi
mov dword [esp + 0x44], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041e0f0
test al, al
je 0x423b87
push str.Hour
lea edx, [esp + 0x16c]
push edx
mov ecx, ebx
mov dword [esp + 0x48], 1
call fcn.00421720
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov ebp, 0x10
cmp eax, ebp
mov byte [esp + 0x314], 0x13
jae 0x4239a1
lea ecx, [esp + 0x14]
cmp dword [esi + 0x18], ebp
jb 0x4239ab
mov eax, dword [esi + 4]
jmp 0x4239ae
lea eax, [esi + 4]
xor edi, edi
cmp ecx, eax
je 0x4239cd
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x18]
call fcn.00401cd0
push 0xffffffffffffffff
push edi
push esi
lea ecx, [esp + 0x1c]
call fcn.004022a0
cmp dword [esp + 0x180], ebp
mov byte [esp + 0x314], 0xd
jb 0x4239ee
mov eax, dword [esp + 0x16c]
push eax
call fcn.0044b92d
add esp, 4
mov eax, dword [esp + 0x28]
mov ebp, 0xf
cmp eax, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x180], ebp
mov dword [esp + 0x17c], edi
mov byte [esp + 0x16c], 0
jae 0x423a1a
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, edi
jl 0x423a2c
cmp eax, 0x17
jle 0x423a2e
xor eax, eax
push str.Minute
lea ecx, [esp + 0x1a4]
push ecx
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.00421720
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, 0x10
cmp eax, edx
mov byte [esp + 0x314], 0x14
jae 0x423a65
lea ecx, [esp + 0x14]
cmp dword [esi + 0x18], edx
jb 0x423a6f
mov eax, dword [esi + 4]
jmp 0x423a72
lea eax, [esi + 4]
cmp ecx, eax
je 0x423a94
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x18]
call fcn.00401cd0
push 0xffffffffffffffff
push edi
push esi
lea ecx, [esp + 0x1c]
call fcn.004022a0
mov edx, 0x10
cmp dword [esp + 0x1b8], edx
mov byte [esp + 0x314], 0xd
jb 0x423aba
mov edx, dword [esp + 0x1a4]
push edx
call fcn.0044b92d
add esp, 4
mov edx, 0x10
cmp dword [esp + 0x28], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1b8], ebp
mov dword [esp + 0x1b4], edi
mov byte [esp + 0x1a4], 0
jae 0x423ade
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, edi
jl 0x423af0
cmp eax, 0x3b
jle 0x423af2
xor eax, eax
mov dword [esp + 0x4c], eax
push str.Second
lea eax, [esp + 0x1dc]
push eax
mov ecx, ebx
call fcn.00421720
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x318], 0x15
call fcn.004026b0
mov eax, dword [esp + 0x1f0]
mov esi, 0x10
cmp eax, esi
mov byte [esp + 0x314], 0xd
jb 0x423b44
mov ecx, dword [esp + 0x1dc]
push ecx
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x28], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1f0], ebp
mov dword [esp + 0x1ec], edi
mov byte [esp + 0x1dc], 0
jae 0x423b68
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, edi
jl 0x423b7a
cmp eax, 0x3b
jle 0x423b7c
xor eax, eax
mov dword [esp + 0x50], eax
xor esi, esi
mov ebp, 0x10
mov eax, dword [ebx + 0x50]
xor edx, edx
cmp eax, esi
setne dl
push 0x465a90
mov ecx, ebx
mov dword [ebx + 0x54], esi
mov dword [esp + 0x48], esi
mov dword [ebx + 0x5c], edx
call fcn.0041e0f0
test al, al
je 0x423d47
push str.Hour
lea eax, [esp + 0x214]
push eax
mov ecx, ebx
mov dword [esp + 0x4c], 1
call fcn.00421720
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x318], 0x16
call fcn.004026b0
cmp dword [esp + 0x228], ebp
mov byte [esp + 0x314], 0xd
jb 0x423bfe
mov ecx, dword [esp + 0x214]
push ecx
call fcn.0044b92d
add esp, 4
mov eax, dword [esp + 0x28]
mov edi, 0xf
cmp eax, ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov byte [esp + 0x214], 0
jae 0x423c29
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x423c3b
cmp eax, 0x17
jle 0x423c3d
xor eax, eax
push str.Minute
lea edx, [esp + 0x24c]
push edx
mov ecx, ebx
mov dword [esp + 0x5c], eax
call fcn.00421720
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x318], 0x17
call fcn.004026b0
cmp dword [esp + 0x260], ebp
mov byte [esp + 0x314], 0xd
jb 0x423c88
mov eax, dword [esp + 0x24c]
push eax
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x28], ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x260], edi
mov dword [esp + 0x25c], esi
mov byte [esp + 0x24c], 0
jae 0x423cac
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x423cbe
cmp eax, 0x3b
jle 0x423cc0
xor eax, eax
push str.Second
lea ecx, [esp + 0x284]
push ecx
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.00421720
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x318], 0x18
call fcn.004026b0
cmp dword [esp + 0x298], ebp
mov byte [esp + 0x314], 0xd
jb 0x423d0b
mov edx, dword [esp + 0x284]
push edx
call fcn.0044b92d
add esp, 4
cmp dword [esp + 0x28], ebp
mov eax, dword [esp + 0x14]
mov dword [esp + 0x298], edi
mov dword [esp + 0x294], esi
mov byte [esp + 0x284], 0
jae 0x423d2f
lea eax, [esp + 0x14]
push eax
call fcn.0044c58a
add esp, 4
cmp eax, esi
jl 0x423d41
cmp eax, 0x3b
jle 0x423d43
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x50]
xor ecx, ecx
cmp eax, esi
setne cl
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x5c], ecx
mov ecx, ebx
call fcn.0041dc20
lea edx, [esp + 0x2c]
push edx
mov ecx, 0x474ac8
call fcn.00403110
lea ecx, [esp + 0x2c]
mov byte [esp + 0x314], 0
call fcn.00440e70
push str.Rule
mov ecx, ebx
call fcn.0041e0f0
test al, al
jne 0x423460
mov ecx, ebx
call fcn.0041dc20
push str.Upload
mov ecx, ebx
call fcn.0041e0f0
test al, al
jne 0x423440
mov ecx, ebx
call fcn.0041dc20
cmp dword [esp + 0x28], 0x10
mov dword [esp + 0x314], 0xffffffff
jb 0x423dd3
mov eax, dword [esp + 0x14]
push eax
call fcn.0044b92d
add esp, 4
push str.SpeedLimits
mov ecx, ebx
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], esi
mov byte [esp + 0x18], 0
call fcn.0041e0f0
test al, al
jne 0x422680
pop edi
pop ebp
mov ecx, 0x4742b8
call fcn.004411d0
mov ecx, dword [esp + 0x304]
pop esi
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x308
ret 4