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

Disassembly:
push 0xffffffffffffffff
push 0x49ac80
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x4bd450]
xor eax, esp
mov dword [esp + 0x168], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4bd450]
xor eax, esp
push eax
lea eax, [esp + 0x180]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x190]
push 0x62
xor ebx, ebx
lea ecx, [esp + 0x11a]
xor eax, eax
push ebx
push ecx
mov dword [esp + 0x34], ebp
mov word [esp + 0x120], ax
call fcn.00476ef0
add esp, 0xc
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x194], ebx
jne 0x4535cc
lea edx, [esp + 0x38]
push edx
push ebp
lea ecx, [esp + 0x11c]
call fcn.00456be0
mov dword [esp + 0x34], eax
xor esi, esi
mov dword [esp + 0x48], esi
cmp dword [ebp + 4], ebx
je 0x4543ff
mov ecx, dword [ebp + 0x64]
sub ecx, dword [ebp + 0x60]
add ebp, 0x54
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4543ff
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x38], esp
push 5
xor ecx, ecx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push str.rival
mov word [esi + 4], cx
call fcn.00402bd0
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a4], 0xffffffff
lea edi, [esp + 0xa0]
call fcn.0043aae0
mov dword [esp + 0x188], 1
mov eax, dword [esp + 0x28]
call fcn.00457f60
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], ebx
je 0x453b99
mov dword [esp + 0x2c], ebx
jmp 0x453680
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x24]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jb 0x4536a4
call fcn.004726ec
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + edx]
mov ecx, dword [ebp + 0x10]
sub ecx, edx
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x20], esi
cmp edi, ecx
jb 0x4536d1
call fcn.004726ec
mov eax, dword [ebp + 0xc]
add eax, dword [esp + 0x2c]
push 0xffffffffffffffff
add eax, 4
push ebx
xor edx, edx
push eax
mov edi, 7
lea eax, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebx
mov word [esp + 0x78], dx
call fcn.00402a90
mov byte [esp + 0x188], 2
cmp esi, ebx
jne 0x45373f
mov byte [esp + 0x188], 1
cmp dword [esp + 0x80], 8
jb 0x45372d
mov eax, dword [esp + 0x6c]
push eax
call fcn.00471eaf
add esp, 4
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
xor ecx, ecx
jmp 0x453b64
cmp dword [esp + 0x194], ebx
je 0x453826
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x24], eax
jb 0x45376e
call fcn.004726ec
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
cmp dword [edx + ecx + 0x3c], ebx
jne 0x4537ac
mov byte [esp + 0x188], 1
cmp dword [esp + 0x80], 8
jb 0x45372d
mov eax, dword [esp + 0x6c]
push eax
call fcn.00471eaf
add esp, 4
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
xor ecx, ecx
jmp 0x453b64
mov edi, dword [esp + 0x28]
lea eax, [edi + 0x38]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x50]
add edi, 0x18
push eax
call fcn.00458730
mov eax, dword [esp + 0x4c]
mov esi, dword [edi + 0x18]
mov edi, dword [edi]
cmp eax, ebx
je 0x4537e1
cmp eax, edi
je 0x4537e6
call fcn.004726ec
cmp dword [esp + 0x50], esi
je 0x45381b
lea esi, [esp + 0x4c]
call fcn.00458a80
cmp dword [eax + 4], ebx
jle 0x45381b
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esp + 0x188], 1
lea esi, [esp + 0x68]
call fcn.00428ca0
jmp 0x453b69
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x7c], ebx
je 0x453979
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x24], eax
jb 0x453856
call fcn.004726ec
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
cmp dword [ecx + edx + 0x3c], 0
je 0x453979
mov edi, dword [esp + 0x24]
mov esi, ebp
xor ebx, ebx
call fcn.00458820
sub esp, 0x18
add eax, 0x40
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
push ecx
call fcn.00458400
mov byte [esp + 0x1a0], 3
mov edx, dword [esp + 0x40]
push edx
mov byte [esp + 0x1a4], 2
call fcn.00454430
test eax, eax
je 0x4538e4
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x50], ebx
lea ecx, [esp + 0x68]
setne bl
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x34], esp
inc ebx
call fcn.004028e0
mov byte [esp + 0x1a4], 4
mov byte [esp + 0x1a4], 2
call fcn.004568b0
test eax, eax
jne 0x4538e4
mov dword [esp + 0x1c], 1
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x34], esp
xor ecx, ecx
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x8c]
mov dword [eax + 0x18], 7
mov dword [eax + 0x14], 0
push edx
mov word [eax + 4], cx
call fcn.00402a90
mov byte [esp + 0x1a4], 5
mov byte [esp + 0x1a4], 2
call fcn.004568b0
cmp eax, ebx
je 0x453955
push ebx
sub esp, 0x1c
lea ecx, [esp + 0x88]
mov esi, esp
mov dword [esp + 0x38], esp
call fcn.004028e0
mov byte [esp + 0x1a8], 6
mov byte [esp + 0x1a8], 2
call fcn.004569d0
cmp dword [esp + 0x194], 0
je 0x453979
test ebx, ebx
jne 0x453979
mov byte [esp + 0x188], 1
lea esi, [esp + 0x68]
call fcn.00428ca0
jmp 0x453b69
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x24]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x45399d
call fcn.004726ec
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add eax, ebx
push eax
call fcn.00455330
mov esi, eax
mov dword [esp + 0x18], esi
test esi, esi
jne 0x4539fa
mov byte [esp + 0x188], 1
cmp dword [esp + 0x80], 8
jb 0x4539d9
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.00471eaf
add esp, 4
xor edx, edx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], dx
xor ebx, ebx
jmp 0x453b69
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x453a1a
call fcn.004726ec
mov ecx, dword [ebp + 0xc]
cmp dword [ebx + ecx + 0x3c], 0
je 0x453a7b
cmp dword [esp + 0x1c], 0
je 0x453a7b
mov eax, dword [esp + 0x20]
cmp eax, 0x201
je 0x453a7b
cmp eax, 0x23b
je 0x453a7b
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x50], 0
jne 0x453a7b
mov edi, dword [esp + 0x24]
mov esi, ebp
call fcn.00458820
cmp dword [eax + 0xb4], 0
je 0x453a6a
mov eax, 4
cmp dword [esp + 0x18], eax
jbe 0x453a6a
sub dword [esp + 0x18], eax
add dword [esp + 0x18], 0xe
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.0043b090
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x453aaf
call fcn.004726ec
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + ebx + 0x3c], 0
je 0x453b2e
mov edi, dword [esp + 0x28]
lea ebx, [edi + 0x38]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x58]
add edi, 0x18
push eax
call fcn.00458730
mov ecx, dword [esp + 0x54]
mov esi, dword [edi + 0x18]
mov eax, dword [edi]
test ecx, ecx
je 0x453aea
cmp ecx, eax
je 0x453aef
call fcn.004726ec
cmp dword [esp + 0x58], esi
je 0x453b07
lea esi, [esp + 0x54]
call fcn.00458a80
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
jmp 0x453b27
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edx
push ecx
lea edx, [esp + 0x60]
push edx
push edi
mov dword [esp + 0x4c], eax
call fcn.00458630
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esp + 0x188], 1
cmp dword [esp + 0x80], 8
jb 0x453b4d
mov eax, dword [esp + 0x6c]
push eax
call fcn.00471eaf
add esp, 4
xor ecx, ecx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
xor ebx, ebx
mov word [esp + 0x6c], cx
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x24]
add dword [esp + 0x2c], 0x10c
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x24], esi
cmp esi, eax
jb 0x453680
cmp dword [esp + 0x194], ebx
jne 0x45434a
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], ebx
call fcn.00457120
test eax, eax
je 0x453c00
mov edi, dword [esp + 0x1c]
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x38], esp
push 2
xor edx, edx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push 0x4aa62c
mov word [esi + 4], dx
call fcn.00402bd0
mov byte [esp + 0x1a4], 7
lea eax, [esp + 0xa0]
push eax
mov byte [esp + 0x1a8], 1
mov ecx, edi
call fcn.0043b480
push ebx
call fcn.00457280
mov ebp, dword [esp + 0x28]
push ebp
mov esi, eax
call fcn.00457440
cmp esi, ebx
je 0x453c22
xor ecx, ecx
cmp eax, ebx
setne cl
inc ecx
mov esi, ecx
jmp 0x453c2b
neg eax
sbb eax, eax
and eax, 3
mov esi, eax
lea edx, [esp + 0x3c]
push edx
call fcn.00457280
test eax, eax
je 0x453d1a
push 0x136
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0043b090
push 0x62
lea edx, [esp + 0xb2]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0xb8], cx
call fcn.00476ef0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
add esp, 0xc
push eax
push ecx
push 0x4aa9a4
lea edx, [esp + 0xb8]
push 0x32
push edx
call fcn.00472300
sub esp, 8
mov esi, esp
xor eax, eax
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov word [esi + 4], ax
lea eax, [esp + 0xc8]
mov dword [esp + 0x38], esp
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x453cb0
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0xcc]
push ecx
call fcn.00402bd0
mov byte [esp + 0x1a4], 8
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x58], esp
push 2
xor edx, edx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push 0x4aa634
mov word [esi + 4], dx
call fcn.00402bd0
mov byte [esp + 0x1c0], 9
mov byte [esp + 0x1c0], 1
lea ecx, [esp + 0xbc]
call fcn.0043b220
mov ebp, dword [esp + 0x28]
call fcn.00403a60
call fcn.00437cc0
test eax, eax
je 0x453dd3
lea esi, [ebp + 0x38]
push esi
mov dword [esp + 0x20], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x30]
lea edi, [ebp + 0x18]
push ecx
mov dword [esp + 0x28], 0x138
call fcn.00458730
mov edx, dword [edi + 0x18]
mov eax, dword [edi]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x40], edx
cmp edi, ebx
je 0x453d69
cmp edi, eax
je 0x453d6e
call fcn.004726ec
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x40]
je 0x453da6
cmp edi, ebx
jne 0x454109
call fcn.004726ec
xor edi, edi
mov ecx, dword [esp + 0x30]
cmp ecx, dword [edi + 0x18]
jne 0x453d95
call fcn.004726ec
mov edx, dword [esp + 0x30]
cmp dword [edx + 0x10], ebx
jle 0x453da6
mov dword [esp + 0x1c], 1
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x1c], ebx
jne 0x453dd3
push ebp
call fcn.00457580
xor ecx, ecx
cmp eax, ebx
setne cl
push 0x137
lea eax, [esp + 0x88]
push eax
inc ecx
call fcn.0043b090
cmp dword [0x51246c], ebx
je 0x453df8
mov esi, 0x4be9c0
mov edi, 9
call fcn.00451c20
add esi, 0x40
sub edi, 1
jne 0x453de5
mov dword [0x51246c], ebx
push ebx
xor esi, esi
call fcn.0040f530
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x453e19
push edi
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
test eax, eax
je 0x453e19
mov esi, 1
mov edx, dword [0x512da4]
mov eax, dword [edx + 0xc]
mov ecx, 0x512da4
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x188], 0xb
mov edx, dword [0x512da4]
mov eax, dword [edx + 0xc]
mov ecx, 0x512da4
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0x188], 0xd
mov edx, dword [0x512da4]
mov eax, dword [edx + 0xc]
mov ecx, 0x512da4
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x188], 0xf
lea ecx, [esp + 0x18]
call fcn.00457850
mov ecx, 1
lea edx, [esp + 0x2c]
call fcn.004576c0
mov ecx, 2
lea edx, [esp + 0x20]
call fcn.004576c0
cmp esi, ebx
je 0x453ea5
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
cmp edi, ebx
je 0x453eb0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x18]
cmp dword [edi - 0xc], ebx
je 0x453f3f
sub esp, 0x1c
mov esi, esp
xor ecx, ecx
mov eax, edi
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov dword [esp + 0x38], esp
mov word [esi + 4], cx
lea edx, [eax + 2]
jmp 0x453ee0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x453ee0
sub eax, edx
sar eax, 1
push eax
push edi
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x10
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x5c], esp
push 4
xor edx, edx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push str.dekt
mov word [esi + 4], dx
call fcn.00402bd0
mov byte [esp + 0x1c0], 0x11
mov byte [esp + 0x1c0], 0xf
lea ecx, [esp + 0xbc]
call fcn.0043b220
mov edi, dword [esp + 0x2c]
cmp dword [edi - 0xc], ebx
je 0x453fcf
sub esp, 0x1c
mov esi, esp
xor eax, eax
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov word [esi + 4], ax
mov eax, edi
mov dword [esp + 0x38], esp
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x453f70
sub eax, edx
sar eax, 1
push eax
push edi
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x12
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x5c], esp
push 4
xor ecx, ecx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push str.stme
mov word [esi + 4], cx
call fcn.00402bd0
mov byte [esp + 0x1c0], 0x13
mov byte [esp + 0x1c0], 0xf
lea ecx, [esp + 0xbc]
call fcn.0043b220
mov edi, dword [esp + 0x20]
cmp dword [edi - 0xc], ebx
je 0x45405f
sub esp, 0x1c
mov esi, esp
xor edx, edx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov eax, edi
mov word [esi + 4], dx
mov dword [esp + 0x38], esp
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x454000
sub eax, edx
sar eax, 1
push eax
push edi
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x14
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x5c], esp
push 4
xor eax, eax
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push str.tsbr
mov word [esi + 4], ax
call fcn.00402bd0
mov byte [esp + 0x1c0], 0x15
mov byte [esp + 0x1c0], 0xf
lea ecx, [esp + 0xbc]
call fcn.0043b220
cmp dword [esp + 0x34], ebx
je 0x4541cd
sub esp, 0x1c
mov esi, esp
xor ecx, ecx
lea eax, [esp + 0x130]
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov dword [esp + 0x50], esp
mov word [esi + 4], cx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x454090
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x134]
push edx
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x16
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x54], esp
push 2
mov ebp, 7
xor eax, eax
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push 0x4aa660
mov word [esi + 4], ax
call fcn.00402bd0
mov byte [esp + 0x1c0], 0x17
mov byte [esp + 0x1c0], 0xf
lea ecx, [esp + 0xbc]
call fcn.0043b220
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x84], 8
jb 0x454110
mov ecx, dword [eax + 0x70]
jmp 0x454113
mov edi, dword [edi]
jmp 0x453d87
lea ecx, [eax + 0x70]
sub esp, 0x1c
mov esi, esp
xor edx, edx
mov eax, ecx
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
mov dword [esp + 0x50], esp
mov word [esi + 4], dx
lea edi, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x454130
sub eax, edi
sar eax, 1
push eax
push ecx
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x18
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x54], esp
push 2
xor eax, eax
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push 0x4aa668
mov word [esi + 4], ax
call fcn.00402bd0
mov byte [esp + 0x1c0], 0x19
mov byte [esp + 0x1c0], 0xf
lea ecx, [esp + 0xbc]
call fcn.0043b220
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x50], esp
push 3
xor ecx, ecx
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push 0x4aa670
mov word [esi + 4], cx
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x1a
lea edx, [esp + 0xa0]
push edx
mov byte [esp + 0x1a8], 0xf
mov ecx, dword [esp + 0x58]
call fcn.0043b480
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0xf0]
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x54], esp
push 4
mov ebp, 7
xor ecx, ecx
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push str.days
dec edi
mov word [esi + 4], cx
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x1b
lea edx, [esp + 0xa0]
push edx
mov byte [esp + 0x1a8], 0xf
mov ecx, edi
call fcn.0043b480
lea eax, [esp + 0x68]
push eax
call fcn.00405860
push eax
call fcn.00426590
mov byte [esp + 0x188], 0x1c
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x54], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x8c]
xor ecx, ecx
mov dword [eax + 0x18], ebp
mov dword [eax + 0x14], ebx
push edx
mov word [eax + 4], cx
call fcn.00402a90
mov byte [esp + 0x1a4], 0x1d
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x6c], esp
push 6
xor eax, eax
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
push str.datver
mov word [esi + 4], ax
call fcn.00402bd0
mov byte [esp + 0x1c0], 0x1e
mov byte [esp + 0x1c0], 0x1c
lea ecx, [esp + 0xbc]
call fcn.0043b220
mov byte [esp + 0x188], 0xf
cmp dword [esp + 0x80], 8
jb 0x4542be
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.00471eaf
add esp, 4
xor edx, edx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebx
mov word [esp + 0x6c], dx
mov byte [esp + 0x188], 0xd
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4542f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0xb
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x454320
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45439c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x45439c
cmp dword [esp + 0xa8], ebx
je 0x45439c
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x54], esp
push 3
xor ecx, ecx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push 0x4aa684
mov edi, 1
mov word [esi + 4], cx
call fcn.00402bd0
mov byte [esp + 0x1a4], 0x22
lea edx, [esp + 0xa0]
push edx
mov byte [esp + 0x1a8], 1
mov ecx, edi
call fcn.0043b320
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x4a5b1c
mov byte [ecx + 4], 0
call fcn.00403290
mov byte [esp + 0x1a4], 0x23
mov byte [esp + 0x1a4], 1
lea esi, [esp + 0xa0]
call fcn.0043acf0
mov esi, 1
test al, al
jne 0x4543e7
mov esi, dword [esp + 0x48]
mov dword [esp + 0x188], 0xffffffff
lea eax, [esp + 0x84]
push eax
call fcn.0043ac50
mov eax, esi
mov ecx, dword [esp + 0x180]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.00471eba
add esp, 0x178
ret 8