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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54b362
mov eax, dword fs:[0]
push eax
sub esp, 0x158
push ebx
push esi
push edi
mov eax, dword [0x5a5084]
xor eax, esp
push eax
lea eax, [esp + 0x168]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [esp + 0x50]
push eax
mov ebx, str.table
call fcn.004424d0
mov eax, dword [eax + 8]
xor esi, esi
cmp eax, esi
je 0x4156db
mov ecx, dword [eax + 0xc]
cmp ecx, 9
jne 0x4156cd
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x4156df
cmp ecx, 2
jne 0x4156db
mov edx, dword [eax + 0x18]
mov dword [esp + 0x14], edx
jmp 0x4156df
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
jle 0x415c36
mov eax, dword [ebp + 8]
add eax, 0x28
mov dword [esp + 0x18], eax
jmp 0x415702
xor esi, esi
lea ecx, [esp + 0x24]
push ecx
call fcn.004140f0
lea edx, [esp + 0x158]
push edx
mov ebx, str.table
mov dword [esp + 0x174], esi
call fcn.004424d0
mov ebx, eax
mov eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x114]
mov byte [esp + 0x174], 1
call fcn.00440290
push eax
mov ebx, 0x58c604
lea eax, [esp + 0xc0]
mov byte [esp + 0x174], 2
call fcn.004401a0
mov ecx, dword [eax + 8]
xor ebx, ebx
cmp ecx, ebx
je 0x415789
cmp dword [ecx + 0xc], 6
jne 0x415775
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x20], ecx
jmp 0x41578f
cmp ecx, ebx
je 0x415789
cmp dword [ecx + 0xc], 5
jne 0x415789
mov eax, dword [ecx + 0x14]
cdq
mov dword [esp + 0x20], edx
jmp 0x41578f
xor eax, eax
mov dword [esp + 0x20], ebx
mov esi, vtable.BkJsonEx::Handle.0
mov byte [esp + 0x170], bl
lea edx, [esp + 0x8c]
push edx
mov ebx, str.table
mov dword [esp + 0x28], eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x15c], esi
call fcn.004424d0
mov ebx, eax
mov eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0xf0]
mov byte [esp + 0x174], 3
call fcn.00440290
push eax
mov ebx, str.title
lea eax, [esp + 0x78]
mov byte [esp + 0x174], 4
call fcn.004401a0
mov byte [esp + 0x170], 5
mov eax, dword [eax + 8]
test eax, eax
je 0x415818
cmp dword [eax + 0xc], 4
jne 0x415818
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x41581e
xor eax, eax
jmp 0x415832
xor ecx, ecx
xor eax, eax
jmp 0x415832
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x415823
sub eax, ebx
sar eax, 1
mov ebx, eax
push ecx
lea eax, [esp + 0x2c]
call fcn.00412c00
lea ecx, [esp + 0x104]
mov byte [esp + 0x170], 0
push ecx
mov ebx, str.table
mov dword [esp + 0x78], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0x90], esi
call fcn.004424d0
mov ebx, eax
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0xa8]
mov byte [esp + 0x174], 6
call fcn.00440290
push eax
mov ebx, str.iconnor
lea eax, [esp + 0x150]
mov byte [esp + 0x174], 7
call fcn.004401a0
mov byte [esp + 0x170], 8
mov eax, dword [eax + 8]
test eax, eax
je 0x4158bf
cmp dword [eax + 0xc], 4
jne 0x4158bf
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4158c5
xor ecx, ecx
jmp 0x4158df
xor eax, eax
xor ecx, ecx
jmp 0x4158df
mov ecx, eax
lea ebx, [ecx + 2]
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4158d0
sub ecx, ebx
sar ecx, 1
push eax
mov ebx, ecx
lea eax, [esp + 0x30]
call fcn.00412c00
lea eax, [esp + 0xd4]
mov byte [esp + 0x170], 0
push eax
mov ebx, str.table
mov dword [esp + 0x150], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x108], esi
call fcn.004424d0
mov ebx, eax
mov ecx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0x138]
mov byte [esp + 0x174], 9
call fcn.00440290
push eax
mov ebx, str.iconnor_md5
lea eax, [esp + 0x60]
mov byte [esp + 0x174], 0xa
call fcn.004401a0
mov byte [esp + 0x170], 0xb
mov eax, dword [eax + 8]
test eax, eax
je 0x41596c
cmp dword [eax + 0xc], 4
jne 0x41596c
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x415972
xor ecx, ecx
jmp 0x415986
xor eax, eax
xor ecx, ecx
jmp 0x415986
mov ecx, eax
lea ebx, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x415977
sub ecx, ebx
sar ecx, 1
push eax
mov ebx, ecx
lea eax, [esp + 0x40]
call fcn.00412c00
lea edx, [esp + 0x80]
mov byte [esp + 0x170], 0
push edx
mov ebx, str.table
mov dword [esp + 0x60], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0xd8], esi
call fcn.004424d0
mov ebx, eax
mov eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x6c]
mov byte [esp + 0x174], 0xc
call fcn.00440290
push eax
mov ebx, str.iconsel
lea eax, [esp + 0x120]
mov byte [esp + 0x174], 0xd
call fcn.004401a0
mov byte [esp + 0x170], 0xe
mov eax, dword [eax + 8]
test eax, eax
je 0x415a10
cmp dword [eax + 0xc], 4
jne 0x415a10
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x415a16
xor ecx, ecx
jmp 0x415a2f
xor eax, eax
xor ecx, ecx
jmp 0x415a2f
mov ecx, eax
lea ebx, [ecx + 2]
jmp 0x415a20
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x415a20
sub ecx, ebx
sar ecx, 1
push eax
mov ebx, ecx
lea eax, [esp + 0x34]
call fcn.00412c00
lea ecx, [esp + 0xc8]
mov byte [esp + 0x170], 0
push ecx
mov ebx, str.table
mov dword [esp + 0x120], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x84], esi
call fcn.004424d0
mov ebx, eax
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0xb4]
mov byte [esp + 0x174], 0xf
call fcn.00440290
push eax
mov ebx, str.iconsel_md5
lea eax, [esp + 0x9c]
mov byte [esp + 0x174], 0x10
call fcn.004401a0
mov byte [esp + 0x170], 0x11
mov eax, dword [eax + 8]
test eax, eax
je 0x415abc
cmp dword [eax + 0xc], 4
jne 0x415abc
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x415ac2
xor ecx, ecx
jmp 0x415ad6
xor eax, eax
xor ecx, ecx
jmp 0x415ad6
mov ecx, eax
lea ebx, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x415ac7
sub ecx, ebx
sar ecx, 1
push eax
mov ebx, ecx
lea eax, [esp + 0x3c]
call fcn.00412c00
lea eax, [esp + 0x50]
mov byte [esp + 0x170], 0
push eax
mov ebx, str.table
mov dword [esp + 0x9c], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xcc], esi
call fcn.004424d0
mov ebx, eax
mov ecx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0xfc]
mov byte [esp + 0x174], 0x12
call fcn.00440290
push eax
mov ebx, str.details
lea eax, [esp + 0xe4]
mov byte [esp + 0x174], 0x13
call fcn.004401a0
mov byte [esp + 0x170], 0x14
mov eax, dword [eax + 8]
test eax, eax
je 0x415b63
cmp dword [eax + 0xc], 4
jne 0x415b63
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x415b69
xor ecx, ecx
jmp 0x415b7f
xor eax, eax
xor ecx, ecx
jmp 0x415b7f
mov ecx, eax
lea ebx, [ecx + 2]
mov edi, edi
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x415b70
sub ecx, ebx
sar ecx, 1
push eax
mov ebx, ecx
lea eax, [esp + 0x38]
call fcn.00412c00
lea edx, [esp + 0x140]
mov byte [esp + 0x170], 0
push edx
mov ebx, str.table
mov dword [esp + 0xe4], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x54], esi
call fcn.004424d0
mov ebx, eax
mov eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x12c]
mov byte [esp + 0x174], 0x15
call fcn.00440290
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x40]
push ecx
push eax
push edx
mov byte [esp + 0x17c], 0x16
call fcn.00415d30
mov byte [esp + 0x170], 0
lea eax, [esp + 0x24]
mov dword [esp + 0x128], esi
mov dword [esp + 0x140], esi
mov esi, dword [esp + 0x18]
push eax
call fcn.00416ec0
lea eax, [esp + 0x24]
mov dword [esp + 0x170], 0xffffffff
call fcn.00415c60
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jl 0x415700
mov eax, 1
mov ecx, dword [esp + 0x168]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4