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

Disassembly:
push 0xffffffffffffffff
push 0x56bd78
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x660038]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov eax, ebx
mov byte [esp + 0x30], 0
call fcn.0043e7b0
test eax, eax
je 0x45f668
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x70]
call eax
mov ecx, ebx
call fcn.004628e0
push eax
mov esi, ebp
call fcn.00441a90
mov edx, dword [ebp + 0x4b8]
mov eax, dword [edx + 0xc]
lea esi, [ebp + 0x4b8]
mov ecx, esi
call eax
test al, al
jne 0x45f6a2
mov eax, esi
call fcn.00403c30
mov ecx, eax
mov eax, ebx
call fcn.00460730
cmp eax, ecx
je 0x45f6b7
mov eax, esi
call fcn.00403c30
mov ecx, eax
mov eax, ebx
call fcn.00460740
mov byte [esp + 0x30], 1
mov edx, dword [ebp + 0x4a4]
mov eax, dword [edx + 0xc]
lea esi, [ebp + 0x4a4]
mov ecx, esi
call eax
test al, al
jne 0x45f6e2
mov eax, esi
call fcn.00403c40
mov cl, al
mov eax, ebx
call fcn.00460710
cmp al, cl
je 0x45f6f7
mov eax, esi
call fcn.00403c40
mov cl, al
mov eax, ebx
call fcn.00460720
mov byte [esp + 0x30], 1
lea eax, [ebp + 0xb98]
call fcn.00403c40
test al, al
jne 0x45f745
lea eax, [ebp + 0xbd8]
call fcn.00403c40
test al, al
jne 0x45f745
lea eax, [ebp + 0xc2c]
call fcn.00403c30
test eax, eax
jg 0x45f745
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 edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x120]
jmp 0x45f764
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 edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x11c]
push ebx
call eax
cmp byte [esp + 0x34], 0
jne 0x45f79c
mov edx, dword [ebp + 0x8f8]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x8f8]
call eax
test al, al
jne 0x45f79c
mov edx, dword [ebp + 0x90c]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x90c]
call eax
test al, al
je 0x45f92d
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
test al, al
je 0x45f926
lea eax, [ebp + 0x8f8]
call fcn.00403c40
or edi, 0xffffffff
test al, al
je 0x45f850
mov eax, 0x5f7aec
lea esi, [esp + 0x14]
call fcn.00494af0
mov dword [esp + 0x24], 0
mov eax, 0x5f7aec
lea esi, [esp + 0x2c]
call fcn.00494af0
mov byte [esp + 0x24], 1
lea ecx, [esp + 0x14]
push ecx
mov edx, esi
push edx
mov edx, dword [ebx]
push ebp
lea eax, [esp + 0x24]
push eax
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
push eax
call fcn.00405910
mov byte [esp + 0x24], 2
push 1
call fcn.00407eb0
push eax
xor al, al
mov esi, ebx
call fcn.00460360
mov byte [esp + 0x24], 1
lea ecx, [esp + 0x18]
call fcn.00494b70
mov byte [esp + 0x24], 0
lea ecx, [esp + 0x2c]
call fcn.00494b70
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x14]
call fcn.00494b70
push ebx
call fcn.00456210
jmp 0x45f8b1
push 0
mov eax, 0x5f7740
lea esi, [esp + 0x30]
call fcn.00494ae0
mov dword [esp + 0x24], 3
mov eax, dword [ebx]
mov ecx, esi
push ecx
push ebx
lea edx, [esp + 0x20]
push edx
mov edx, dword [eax + 0x78]
mov ecx, ebx
call edx
push eax
call fcn.00405d30
mov byte [esp + 0x24], 4
push 1
call fcn.00407eb0
push eax
xor al, al
mov esi, ebx
call fcn.00460360
mov byte [esp + 0x24], 3
lea ecx, [esp + 0x18]
call fcn.00494b70
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x2c]
call fcn.00494b70
mov eax, dword [ebx]
mov edx, dword [eax + 0x78]
mov ecx, ebx
call edx
mov esi, eax
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.00460300
mov dword [esp + 0x24], 5
mov edx, dword [esi]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0x60]
push ebx
mov ecx, esi
call eax
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x2c]
call fcn.00494b70
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov esi, eax
call fcn.004603e0
mov dword [esp + 0x24], 6
mov edx, dword [esi]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0x64]
mov ecx, esi
call eax
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x2c]
call fcn.00494b70
cmp byte [esp + 0x34], 0
jne 0x45f975
mov edx, dword [ebp + 0x56c]
mov eax, dword [edx + 0xc]
lea esi, [ebp + 0x56c]
mov ecx, esi
call eax
test al, al
jne 0x45f975
test esi, esi
je 0x45f950
lea eax, [ebp + 0x578]
jmp 0x45f952
xor eax, eax
mov esi, str.Custom
call fcn.00495d20
test al, al
je 0x45f9a4
mov edx, dword [ebp + 0x580]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x580]
call eax
test al, al
je 0x45f9a4
lea ecx, [ebp + 0x580]
test ecx, ecx
je 0x45f987
lea eax, [ebp + 0x58c]
jmp 0x45f989
xor eax, eax
lea edx, [ebp + 0x56c]
test edx, edx
je 0x45f99b
lea ecx, [ebp + 0x578]
jmp 0x45f99d
xor ecx, ecx
push eax
push ebx
call fcn.0045fff0
mov eax, dword [0x677d34]
push eax
push ebp
call sub.ClientConfigUI66U.dll_int___cdecl_SelectPrinter_struct_SessionConfig_const___struct_GlobalConfig_const__
add esp, 8
cmp byte [esp + 0x34], 0
jne 0x45f9c9
mov edx, dword [ebp + 0x5c]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x5c]
call eax
test al, al
je 0x45f9ed
lea ecx, [ebp + 0x5c]
test ecx, ecx
je 0x45f9d5
lea eax, [ebp + 0x68]
jmp 0x45f9d7
xor eax, eax
push eax
mov eax, ebx
call fcn.0045f5d0
mov edi, eax
call fcn.00446630
cmp byte [esp + 0x34], 0
jne 0x45fa02
mov edx, dword [ebp + 0x684]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x684]
call eax
test al, al
je 0x45fa22
lea eax, [ebp + 0x684]
call fcn.00403c40
mov cl, al
mov eax, ebx
call fcn.0044fc60
call fcn.00450110
cmp byte [esp + 0x34], 0
jne 0x45fa40
mov edx, dword [ebp + 0x34]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x34]
call eax
test al, al
jne 0x45fa40
mov edx, dword [ebp + 0x48]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x48]
call eax
test al, al
je 0x45fa76
lea eax, [ebp + 0x48]
call fcn.00403c40
mov byte [esp + 0x30], al
lea eax, [ebp + 0x34]
call fcn.00403c40
movzx ecx, al
push ecx
mov eax, ebx
call fcn.0044fc60
mov esi, eax
mov al, byte [esp + 0x34]
call fcn.00450090
cmp byte [esp + 0x34], 0
mov byte [esp + 0x30], 1
jne 0x45faed
lea eax, [ebp + 0x204]
call fcn.00403c30
mov edx, dword [ebx]
mov esi, eax
mov eax, dword [edx + 0x18]
mov ecx, ebx
call eax
cmp esi, eax
jne 0x45faed
lea eax, [ebp + 0x21c]
call fcn.00403c30
mov edx, dword [ebx]
mov esi, eax
mov eax, dword [edx + 0x1c]
mov ecx, ebx
call eax
cmp esi, eax
jne 0x45faed
mov edx, dword [ebp + 0x24c]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x24c]
call eax
test al, al
jne 0x45faed
mov edx, dword [ebp + 0x234]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x234]
call eax
test al, al
jne 0x45faed
mov edx, dword [ebp + 0x468]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x468]
call eax
test al, al
je 0x45fb99
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, ebp
mov ecx, eax
call fcn.00404a70
test al, al
je 0x45fb1d
lea eax, [ebp + 0x204]
call fcn.00403c30
mov esi, eax
lea eax, [ebp + 0x21c]
call fcn.00403c30
jmp 0x45fb31
mov edx, dword [ebx]
mov eax, dword [edx + 0x18]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov esi, eax
mov eax, dword [edx + 0x1c]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov edi, eax
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
test al, al
je 0x45fb6e
lea eax, [ebp + 0x24c]
call fcn.00403c30
test eax, eax
jne 0x45fb6e
mov edx, dword [ebx]
mov eax, dword [edx + 0x18]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov esi, eax
mov eax, dword [edx + 0x1c]
mov ecx, ebx
call eax
mov edi, eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
push edi
mov ecx, ebx
call eax
push eax
mov eax, esi
call fcn.00406050
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, dword [eax]
push edi
mov ecx, eax
mov eax, dword [edx + 0x68]
push esi
call eax
mov byte [esp + 0x30], 1
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
mov ecx, ebx
call eax
mov edx, ebp
mov ecx, eax
call fcn.00404a70
mov edx, dword [esp + 0x34]
movzx ecx, al
mov eax, dword [ebx]
push ecx
push edx
mov edx, dword [eax + 0x78]
mov ecx, ebx
call edx
mov esi, eax
call fcn.00405810
test al, al
je 0x45fbd4
mov eax, dword [esp + 0x38]
mov byte [esp + 0x30], 1
mov byte [eax], 1
cmp byte [esp + 0x34], 0
jne 0x45fbff
mov edx, dword [ebx + 0x10]
mov eax, dword [edx + 0x10]
lea ecx, [ebx + 0x10]
call eax
test eax, eax
je 0x45fbff
mov edx, dword [ebp + 0x47c]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0x47c]
call eax
test al, al
je 0x45fc24
lea ecx, [ebp + 0x47c]
test ecx, ecx
je 0x45fc11
lea eax, [ebp + 0x488]
jmp 0x45fc13
xor eax, eax
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x60]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x38]
mov byte [ecx], 1
push 0
lea edx, [esp + 0x3c]
push edx
call fcn.0051e010
lea eax, [ebp + 0x1048]
test eax, eax
je 0x45fc42
lea eax, [ebp + 0x1054]
jmp 0x45fc44
xor eax, eax
push eax
call fcn.0051faa0
test eax, eax
je 0x45fc53
lea esi, [eax + 0xc]
jmp 0x45fc55
xor esi, esi
mov eax, ebx
call fcn.0044fc60
call fcn.004511e0
test al, al
je 0x45fc6a
mov byte [esp + 0x30], 1
cmp byte [esp + 0x34], 0
jne 0x45fc9b
mov edx, dword [ebp + 0xb70]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0xb70]
call eax
test al, al
jne 0x45fc9b
mov edx, dword [ebp + 0xb84]
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 0xb84]
call eax
test al, al
je 0x45fcc8
lea eax, [ebp + 0xb70]
call fcn.00403c40
test al, al
je 0x45fcb9
lea eax, [ebp + 0xb90]
call fcn.00407eb0
mov ecx, eax
jmp 0x45fcbb
xor ecx, ecx
mov eax, ebx
call fcn.0044fc60
push eax
call fcn.00450d80
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0x10