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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
je case.0x5980ba.5020
mov esi, dword [ebp + 0x10]
mov eax, dword [esi]
mov ecx, dword [eax + 0x68]
push 0x480
push esi
call ecx
test al, al
jne case.0x5980ba.5020
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x14], 0
je case.0x5980ba.5020
mov edi, dword [ebp + 0xc]
lea eax, [edi - 0x139c]
cmp eax, 0xf
ja case.0x597e0c.5022
movzx edx, byte [eax + 0x5986d8]
jmp dword [edx*4 + 0x5986d0]
mov eax, dword [esi]
mov ecx, dword [eax + 0x14]
push 0x1b3
push esi
call ecx
test eax, eax
je case.0x5980ba.5020
mov edx, dword [esi]
mov eax, dword [edx + 0x54]
push 0x4b6
push esi
call eax
mov dword [esp + 0x18], eax
cmp eax, 1
je 0x597e47
cmp eax, 2
jne 0x597fec
mov ecx, dword [esi]
mov edx, dword [ecx + 0x54]
push 0x4b3
push esi
call edx
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x54]
push 0x4b4
push esi
call ecx
mov edx, dword [esi]
push 0x4b5
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x54]
push esi
call eax
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
push 0x640918
push 0x47f
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x6c]
push esi
mov dword [esp + 0x24], 0
call eax
cmp dword [esp + 0x18], 1
jne 0x597f03
cmp edi, 0x139c
jne 0x597eb2
mov edi, 0x1398
jmp 0x597f5f
cmp edi, 0x139d
jne 0x597ec4
mov edi, 0x1399
jmp 0x597f5f
cmp edi, 0x13a0
jne 0x597ed6
mov edi, 0x139e
jmp 0x597f5f
cmp edi, 0x13a7
jne 0x597ee5
mov edi, 0x13a3
jmp 0x597f5f
cmp edi, 0x13a8
jne 0x597ef4
mov edi, 0x13a4
jmp 0x597f5f
cmp edi, 0x13ab
jne 0x597f5b
mov edi, 0x13a9
jmp 0x597f5f
cmp edi, 0x139c
jne 0x597f12
mov edi, 0x139a
jmp 0x597f5f
cmp edi, 0x139d
jne 0x597f21
mov edi, 0x139b
jmp 0x597f5f
cmp edi, 0x13a0
jne 0x597f30
mov edi, 0x139f
jmp 0x597f5f
cmp edi, 0x13a7
jne 0x597f3f
mov edi, 0x13a5
jmp 0x597f5f
cmp edi, 0x13a8
jne 0x597f4e
mov edi, 0x13a6
jmp 0x597f5f
cmp edi, 0x13ab
mov edi, 0x13aa
je 0x597f5f
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x18]
push eax
call fcn.0057bdad
mov ecx, dword [esp + 0x14]
push ecx
push edi
mov edi, dword [esp + 0x18]
mov ecx, ebx
call fcn.005a27b9
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push 0x480
push eax
mov eax, dword [edx + 0x68]
call eax
test al, al
je 0x597fcc
mov ecx, dword [esi]
mov edx, dword [ecx + 0x8c]
push 1
push 0x480
push esi
call edx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x598383
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x598383
mov eax, dword [esp + 0x10]
test eax, eax
je 0x597fdc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x597fec
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 0xc]
cmp eax, 0x139c
jne 0x59800b
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x64]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x139d
jne 0x598027
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x68]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x13a0
jne 0x598043
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x74]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x13a7
jne 0x598062
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x90]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x13a8
jne 0x598081
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x94]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x13ab
jne case.0x5980ba.5020
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xa0]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [edi - 0x1392]
cmp eax, 0x58
ja case.0x5980ba.5020
movzx eax, byte [eax + 0x59874c]
jmp dword [eax*4 + 0x5986e8]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x14]
push 0x1b3
push esi
call edx
test eax, eax
je case.0x5980ba.5020
cmp edi, 0x1398
jne 0x5980f3
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x54]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x1399
jne 0x598110
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x58]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x139a
jne 0x59812d
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x5c]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x139b
jne 0x59814a
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x60]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x139e
jne 0x598167
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x6c]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x139f
jne 0x598184
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x70]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13a3
jne 0x5981a4
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x80]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13a4
jne 0x5981c4
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x84]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13a5
jne 0x5981e4
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x88]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13a6
jne 0x598204
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x8c]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13a9
jne 0x598224
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x98]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13aa
jne case.0x5980ba.5020
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x9c]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi]
mov ecx, dword [eax + 0x14]
push 0x1b4
push esi
call ecx
test eax, eax
je case.0x5980ba.5020
mov ebx, dword [ebx + 0x14]
push esi
push ebx
cmp edi, 0x13a1
jne 0x59827a
mov edx, dword [ebx]
mov eax, dword [edx + 0x78]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xa4]
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi]
mov ecx, dword [eax + 0x14]
push 0x1b2
push esi
call ecx
test eax, eax
je case.0x5980ba.5020
mov ebx, dword [ebx + 0x14]
push esi
push ebx
cmp edi, 0x1397
jne 0x5982bf
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x7c]
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x44]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0x48]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x3c]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x40]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push 0x1b5
push esi
call eax
test eax, eax
je case.0x5980ba.5020
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x14]
push edx
push 0x638540
lea eax, [ebx + 4]
push 0x40e
push eax
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], 0
call eax
test eax, eax
js 0x5983a0
mov ecx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
call fcn.0057bcd2
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
push 1
push 0x480
push esi
call eax
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x5980ba.5020
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x4c]
push esi
push ebx
call ecx
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x5980ba.5020
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esi]
mov edx, dword [ecx + 0x14]
push 0x1b6
push esi
call edx
test eax, eax
je case.0x5980ba.5020
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x28]
push edx
lea eax, [ebx + 4]
push 0x410
push eax
mov eax, dword [ecx + 0x28]
call eax
test eax, eax
js 0x598446
cmp word [esp + 0x28], 8
jne 0x598446
mov edx, dword [esp + 0x30]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x94]
push edx
push 0x4c2
push esi
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x8c]
push 1
push 0x480
push esi
call edx
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x38]
push esi
push ebx
call edx
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esi]
mov edx, dword [ecx + 0x14]
push 0x1b6
push esi
call edx
test eax, eax
je case.0x5980ba.5020
cmp edi, 0x13af
jne 0x59849b
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xb4]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13b4
jne 0x5984bb
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0xc8]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13b0
jne 0x5984db
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xb8]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13b5
jne case.0x5980ba.5020
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xcc]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push 0x1b7
push esi
call eax
test eax, eax
je case.0x5980ba.5020
cmp edi, 0x13ad
jne 0x598534
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xac]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13b2
jne 0x598554
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc0]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13ae
jne 0x598574
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0xb0]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, 0x13b3
jne case.0x5980ba.5020
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xc4]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xe4]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0xfc]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xe8]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x100]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0xd4]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xec]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xdc]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0xf4]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xd8]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xf0]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov edx, dword [ebx]
mov eax, dword [edx + 0xe0]
push esi
push ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xf8]
push esi
push ebx
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x2c]
push esi
push ebx
call ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10