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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x56e120
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push esi
push edi
mov eax, dword [0x660038]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov ebx, ecx
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
cmp ebx, edi
je 0x453b0a
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov dword [esp + 0x98], edi
mov esi, dword [ebx + 0x17c]
cmp esi, edi
mov edi, dword [ebp + 8]
je 0x453b54
cmp ebx, esi
je 0x453b34
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push edx
push edi
call fcn.0045b710
test al, al
je 0x453b54
mov eax, dword [ebx + 0x17c]
xor esi, esi
cmp eax, esi
je 0x453b4e
mov dword [ebx + 0x17c], esi
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x17c], esi
cmp dword [ebx + 0x20], 0
je 0x453b92
cmp dword [ebx + 0x24], 0
je 0x453b92
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + 0x14c]
lea ecx, [ebx + 0x14]
call edx
mov ecx, dword [ebp + 0x10]
mov edi, eax
mov eax, dword [ecx]
mov esi, dword [edi]
mov edx, dword [eax + 0x10]
push ebx
add esi, 0x18
call edx
mov ecx, dword [ebp + 8]
mov edx, dword [esi]
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, edi
call edx
mov edi, dword [ebp + 8]
cmp edi, 1
jne 0x453bbe
lea ecx, [ebx + 0x14]
lea eax, [edi + 2]
call fcn.00498180
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x453bb0
mov eax, dword [ecx]
mov edx, dword [eax]
push edi
call edx
mov dword [ebx + 0x24], 0
mov byte [esp + 0x20], 0
jmp 0x453bd4
cmp edi, 4
je 0x453bcf
cmp edi, 8
je 0x453bcf
mov byte [esp + 0x20], 0
jmp 0x453bd4
mov byte [esp + 0x20], 1
mov eax, dword [esp + 0x20]
push eax
mov eax, ebx
call fcn.00461c20
mov eax, edi
sub eax, 1
mov dword [ebx + 0x64], edi
je 0x453c1e
sub eax, 3
je 0x453bf4
sub eax, 4
jne 0x453c3c
lea ecx, [ebx + 0x110]
push ecx
call dword [sym.imp.MSVCR90.dll__time64]
add esp, 4
mov byte [ebx + 0xc8], 0
mov byte [ebx + 0xd2], 1
mov dword [ebx + 0x134], 0
jmp 0x453c3c
cmp dword [ebx + 0x6c], 0
mov dword [ebx + 0x60], 0xffffffff
mov dword [ebx + 0x134], 1
je 0x453c3c
mov ecx, ebx
call fcn.00408400
mov ecx, dword [ebx + 0x38]
test ecx, ecx
je 0x453c6c
call fcn.00499b30
mov esi, dword [ebx + 0x38]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
call fcn.00499b60
mov ecx, dword [ebx + 0x38]
test ecx, ecx
je 0x453c65
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [ebx + 0x38], 0
cmp byte [esp + 0x20], 0
jne 0x453c99
mov edi, ebx
call fcn.00457450
xor eax, eax
mov ecx, ebx
call fcn.004629d0
mov eax, dword [ebx + 0x6c]
xor esi, esi
cmp eax, esi
je 0x453c9b
mov dword [ebx + 0x6c], esi
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x453c9b
xor esi, esi
mov eax, dword [ebx]
mov edx, dword [eax + 0xc0]
mov ecx, ebx
call edx
test eax, eax
jne 0x453cbf
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x1c], esi
jmp 0x45466b
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
test al, al
je 0x453d07
mov dword [esp + 0x98], 0xffffffff
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
mov dword [esp + 0x20], esi
call edx
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0x64]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov esi, eax
call fcn.00405340
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x5c]
push ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x28]
call eax
cmp eax, ebx
sete al
mov byte [esp + 0x12], al
test al, al
je 0x453df7
mov edx, dword [0x67a228]
mov eax, dword [edx]
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x67a228
call eax
push eax
call fcn.0043b7e0
mov byte [esp + 0x98], 1
lea eax, [esp + 0x14]
call fcn.00495350
test al, al
je 0x453dbb
lea ecx, [esp + 0x28]
push ecx
push ebx
call fcn.004603e0
mov byte [esp + 0x98], 2
lea edi, [esp + 0x14]
call fcn.00494c50
mov byte [esp + 0x98], 1
lea ecx, [esp + 0x28]
call fcn.00494b70
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov ecx, eax
mov edx, dword [ecx]
lea eax, [esp + 0x14]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0xe4]
call eax
mov byte [esp + 0x98], 0
lea ecx, [esp + 0x14]
call fcn.00494b70
mov eax, dword [ebp + 8]
sub eax, 1
je 0x454225
sub eax, 3
je 0x453f1e
sub eax, 4
jne 0x4545df
push eax
or edi, 0xffffffff
mov eax, 0x5f7740
lea esi, [esp + 0x28]
call fcn.00494ae0
mov byte [esp + 0x98], 3
mov eax, dword [ebx]
mov ecx, esi
push ecx
push ebx
lea edx, [esp + 0x28]
push edx
mov edx, dword [eax + 0x78]
mov ecx, ebx
call edx
push eax
call fcn.00405d30
mov byte [esp + 0x98], 5
mov ecx, esi
call fcn.00494b70
push 1
lea eax, [esp + 0x24]
call fcn.00407eb0
push eax
xor al, al
mov esi, ebx
call fcn.00460360
mov eax, dword [ebx]
mov edx, dword [eax + 0xc0]
mov ecx, ebx
call edx
mov ecx, eax
mov edx, dword [ecx]
lea eax, [esp + 0x20]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0x38]
push ebx
call eax
cmp byte [esp + 0x12], 0
je 0x453ea4
mov ecx, ebx
call fcn.004628e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 1
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
mov ecx, dword [ebx + 0x68]
mov edx, dword [ecx]
mov eax, dword [edx + 0x54]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xd4]
call eax
test al, al
je 0x453eda
mov edi, ebx
call fcn.00461e20
mov byte [esp + 0x98], 0
lea ecx, [esp + 0x20]
call fcn.00494b70
mov dword [esp + 0x98], 0xffffffff
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
mov dword [esp + 0x20], 0
call edx
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebx + 0x68]
lea eax, [esi + 0xb98]
call fcn.00403c40
test al, al
jne 0x453f70
lea eax, [esi + 0xbd8]
call fcn.00403c40
test al, al
jne 0x453f70
lea eax, [esi + 0xc2c]
call fcn.00403c30
test eax, eax
jg 0x453f70
mov eax, dword [0x677d34]
add eax, 0x7c0
call fcn.00403c30
test eax, eax
jle 0x453f92
lea eax, [esi + 0xc18]
call fcn.00403c40
test al, al
je 0x453f92
mov eax, dword [ebx]
mov edx, dword [eax + 0xc0]
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x11c]
push ebx
call eax
mov al, 1
mov ecx, ebx
call fcn.0045ac70
mov ecx, dword [ebx + 0x68]
lea eax, [ecx + 0x1338]
call fcn.00495350
test al, al
je 0x453fbc
lea eax, [ecx + 0xaf0]
call fcn.00403c40
test al, al
je 0x454002
mov eax, ebx
call fcn.004575d0
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x453fd0
push eax
call fcn.0040c0d0
cmp dword [ebx + 0x6c], 0
jne 0x454002
mov dword [esp + 0x98], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.004a7b00
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push ebx
call fcn.00456210
test al, al
je 0x4541ed
lea ecx, [esp + 0x20]
push ecx
push ebx
mov byte [esp + 0x1b], 0
call fcn.00460300
mov byte [esp + 0x98], 6
lea eax, [esp + 0x20]
lea esi, [esp + 0x14]
call fcn.00494a10
mov byte [esp + 0x98], 7
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
xor edi, edi
xor esi, esi
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
test eax, eax
jle 0x45413c
jmp 0x454060
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
push esi
call eax
cmp ebx, eax
je 0x4540b6
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
mov eax, dword [edx + 0x3c]
push esi
call eax
push eax
call fcn.00460300
mov byte [esp + 0x98], 8
or dword [esp + 0x18], 1
mov edx, eax
lea eax, [esp + 0x14]
call fcn.00495cf0
mov byte [esp + 0x12], 1
test al, al
jne 0x4540bb
mov byte [esp + 0x12], 0
mov dword [esp + 0x98], 7
test byte [esp + 0x18], 1
je 0x4540db
and dword [esp + 0x18], 0xfffffffe
lea ecx, [esp + 0x2c]
call fcn.00494b70
cmp byte [esp + 0x12], 0
je 0x454105
inc edi
push edi
lea eax, [esp + 0x24]
call fcn.00407eb0
push eax
lea ecx, [esp + 0x1c]
push str._1___2_d__
push ecx
call fcn.00495410
add esp, 0x10
mov byte [esp + 0x13], 1
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
inc esi
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp esi, eax
jl 0x454060
cmp byte [esp + 0x13], 0
je 0x45413c
push 1
lea eax, [esp + 0x18]
call fcn.00407eb0
push eax
xor al, al
mov esi, ebx
call fcn.00460360
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
lea ecx, [esp + 0x30]
push ecx
push ebx
mov esi, eax
call fcn.00460300
mov byte [esp + 0x98], 9
mov edx, dword [esi]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0x38]
push ebx
mov ecx, esi
call eax
mov byte [esp + 0x98], 7
lea ecx, [esp + 0x30]
call fcn.00494b70
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
lea ecx, [esp + 0x34]
push ecx
push ebx
mov esi, eax
call fcn.004603e0
mov byte [esp + 0x98], 0xa
mov edx, dword [esi]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0xe4]
mov ecx, esi
call eax
mov byte [esp + 0x98], 7
lea ecx, [esp + 0x34]
call fcn.00494b70
mov byte [esp + 0x98], 6
lea ecx, [esp + 0x14]
call fcn.00494b70
mov byte [esp + 0x98], 0
lea ecx, [esp + 0x20]
call fcn.00494b70
mov ecx, dword [ebx + 0x68]
mov edx, dword [ecx]
mov eax, dword [edx + 0x54]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xd4]
call eax
test al, al
jne 0x45420e
mov edi, ebx
call fcn.00461e20
xor al, al
mov ecx, ebx
call fcn.0045ac70
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
mov ecx, ebx
call eax
jmp 0x4545cf
cmp byte [esp + 0x12], 0
je 0x45424e
mov ecx, ebx
call fcn.004628e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 0
call eax
mov ecx, ebx
call fcn.004628e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x94]
push 0
mov ecx, ebx
call eax
mov esi, dword [ebp + 0x10]
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, esi
call eax
test eax, eax
je 0x454279
mov edx, dword [ebx]
mov eax, dword [edx + 0xbc]
push esi
mov ecx, ebx
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push 1
mov ecx, esi
call eax
test eax, eax
setne cl
movzx edx, cl
push edx
mov eax, ebx
call fcn.00457070
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
test eax, eax
je 0x4542c2
mov eax, dword [ebx]
mov edx, dword [eax + 0xc0]
mov ecx, ebx
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xec]
call eax
push 0
mov edi, ebx
call fcn.004618d0
mov esi, dword [0x677d34]
lea eax, [esi + 0x7c]
call fcn.00403c40
test al, al
je 0x454498
cmp dword [ebx + 0x68], 0
je 0x454498
lea eax, [esi + 0xf8]
call fcn.00403c40
movzx ecx, al
push ecx
lea edx, [esp + 0x17]
push edx
call fcn.0051e010
mov ecx, dword [ebx + 0x68]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x20], ecx
call edx
mov esi, 0x5fece0
call fcn.00495d20
test al, al
jne 0x454498
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0051f290
mov byte [esp + 0x98], 0xb
xor ecx, ecx
lea edi, [esp + 0x48]
call fcn.004a89d0
mov byte [esp + 0x98], 0xc
mov eax, edi
call fcn.00497fe0
mov ecx, eax
lea eax, [esp + 0x24]
mov dword [esp + 0x38], ecx
call fcn.00407eb0
push eax
mov eax, ecx
call fcn.004a3550
test al, al
jne 0x454438
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
lea esi, [esp + 0x14]
call fcn.00494a10
mov byte [esp + 0x98], 0xd
mov ecx, 0x5c
mov eax, esi
call fcn.004952f0
test eax, eax
jl 0x4543d7
lea ecx, [esp + 0x28]
push ecx
mov edx, eax
mov ecx, esi
call fcn.00494f40
mov byte [esp + 0x98], 0xe
mov edi, esi
call fcn.00494c50
mov byte [esp + 0x98], 0xd
lea ecx, [esp + 0x28]
call fcn.00494b70
jmp 0x4543e0
lea edi, [esp + 0x14]
call fcn.00495360
or edi, 0xffffffff
mov eax, 0x5f7aec
lea esi, [esp + 0x28]
call fcn.00494af0
mov byte [esp + 0x98], 0xf
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov edx, esi
push edx
mov edx, dword [eax + 0x28]
push ecx
call edx
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x23]
push ecx
call fcn.0051ec30
mov byte [esp + 0x98], 0xd
mov ecx, esi
call fcn.00494b70
mov byte [esp + 0x98], 0xc
lea ecx, [esp + 0x14]
call fcn.00494b70
lea eax, [esp + 0x24]
call fcn.00407eb0
mov edx, dword [esp + 0x38]
push edx
lea esi, [esp + 0x44]
call fcn.004a3480
mov byte [esp + 0x98], 0x10
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
push 0
mov edx, esi
push edx
call eax
mov byte [esp + 0x98], 0xc
mov ecx, esi
call fcn.004a34a0
mov byte [esp + 0x98], 0xb
lea ecx, [esp + 0x48]
call fcn.004a8b30
mov byte [esp + 0x98], 0
lea ecx, [esp + 0x24]
call fcn.00494b70
cmp byte [esp + 0x12], 0
je 0x454549
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
jne 0x454576
mov eax, dword [0x677d34]
add eax, 0x2b0
call fcn.00403c30
test eax, eax
je 0x454576
mov ecx, dword [0x676f64]
push ecx
push 0xe1000008
lea edx, [esp + 0x60]
push edx
call fcn.00497730
mov byte [esp + 0x98], 0x11
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00460300
mov byte [esp + 0x98], 0x12
call fcn.00407eb0
push eax
lea ecx, [esp + 0x5c]
call fcn.00497ba0
mov byte [esp + 0x98], 0x11
lea ecx, [esp + 0x3c]
call fcn.00494b70
push 0
push 0
lea ecx, [esp + 0x60]
push ecx
mov esi, ebx
call fcn.004621b0
push eax
call sub.CommonUI66U.dll_int___cdecl_VMessageBox_class_CWnd___class_IReportMessageParams_const___unsigned_int__wchar_t_const__
add esp, 0x10
mov byte [esp + 0x98], 0
lea ecx, [esp + 0x58]
call fcn.004978f0
jmp 0x454576
mov eax, dword [0x677d34]
add eax, 0x2b0
call fcn.00403c30
test eax, eax
je 0x454576
mov eax, ebx
call fcn.00461500
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x6c]
push ebx
call eax
mov esi, ebx
call fcn.00455f90
test al, al
je 0x454599
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x18]
push ebx
call eax
jmp 0x4545df
mov eax, dword [ebx + 0x68]
add eax, 0x6ac
call fcn.00403c40
test al, al
je 0x4545cf
mov eax, ebx
call fcn.0044fc60
call fcn.00450810
mov eax, ebx
call fcn.0044fc60
mov ecx, ebx
mov edi, eax
call fcn.004628e0
mov esi, eax
mov eax, edi
call fcn.004426c0
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edi, eax
call fcn.00405580
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4545f4
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
mov esi, eax
call fcn.0041a8b0
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
push ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
test eax, eax
je 0x45464c
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
cmp dword [ebp + 8], 4
mov edx, dword [eax]
mov edx, dword [edx + 0x58]
sete cl
movzx ecx, cl
push ecx
mov ecx, eax
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0xb0]
mov ecx, ebx
call edx
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x1c], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc