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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rax, rsp
sub rsp, 0x58
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov esi, edx
mov r13, rcx
xor ebx, ebx
mov dword [rax + 0x48], ebx
movsxd rax, dword [rcx + 0x3c]
mov eax, dword [rax + rcx + 0x88]
add rax, rcx
mov qword [rsp + 0xa0], rax
mov r14d, dword [rax + 0x20]
add r14, rcx
mov r15d, dword [rax + 0x24]
add r15, rcx
mov qword [rsp + 0xb0], r15
mov eax, dword [rax + 0x1c]
add rax, rcx
mov qword [rsp + 0xb8], rax
xor r12d, r12d
mov r15, qword [rsp + 0xa0]
mov ebp, dword [r14]
add rbp, r13
test esi, esi
jne 0x402303
lea rcx, [rsp + 0x28]
call fcn.0040145c
nop
or ebx, 1
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x402303
mov dil, 1
jmp 0x402306
xor dil, dil
test bl, 1
je 0x402320
and ebx, 0xfffffffe
cmp qword [rsp + 0x48], 0x10
jb 0x402320
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 1
jne 0x402357
lea rcx, [rsp + 0x28]
call fcn.00401564
nop
or ebx, 2
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x402357
mov dil, sil
jmp 0x40235a
xor dil, dil
test bl, 2
je 0x402374
and ebx, 0xfffffffd
cmp qword [rsp + 0x48], 0x10
jb 0x402374
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 2
jne 0x4023ab
lea rcx, [rsp + 0x28]
call fcn.0040116c
nop
or ebx, 4
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x4023ab
mov dil, 1
jmp 0x4023ae
xor dil, dil
test bl, 4
je 0x4023c8
and ebx, 0xfffffffb
cmp qword [rsp + 0x48], 0x10
jb 0x4023c8
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 3
jne 0x4023ff
lea rcx, [rsp + 0x28]
call fcn.00401374
nop
or ebx, 8
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x4023ff
mov dil, 1
jmp 0x402402
xor dil, dil
test bl, 8
je 0x40241c
and ebx, 0xfffffff7
cmp qword [rsp + 0x48], 0x10
jb 0x40241c
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 4
jne 0x402453
lea rcx, [rsp + 0x28]
call fcn.00401658
nop
or ebx, 0x10
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x402453
mov dil, 1
jmp 0x402456
xor dil, dil
test bl, 0x10
je 0x402470
and ebx, 0xffffffef
cmp qword [rsp + 0x48], 0x10
jb 0x402470
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 5
jne 0x4024a7
lea rcx, [rsp + 0x28]
call fcn.00401750
nop
or ebx, 0x20
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x4024a7
mov dil, 1
jmp 0x4024aa
xor dil, dil
test bl, 0x20
je 0x4024c4
and ebx, 0xffffffdf
cmp qword [rsp + 0x48], 0x10
jb 0x4024c4
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 6
jne 0x4024fb
lea rcx, [rsp + 0x28]
call fcn.00401874
nop
or ebx, 0x40
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x4024fb
mov dil, 1
jmp 0x4024fe
xor dil, dil
test bl, 0x40
je 0x402518
and ebx, 0xffffffbf
cmp qword [rsp + 0x48], 0x10
jb 0x402518
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 7
jne 0x402550
lea rcx, [rsp + 0x28]
call fcn.00402078
nop
bts ebx, 7
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x402550
mov dil, 1
jmp 0x402553
xor dil, dil
test bl, bl
jns 0x40256d
btr ebx, 7
cmp qword [rsp + 0x48], 0x10
jb 0x40256d
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
cmp esi, 8
jne 0x4025a1
lea rcx, [rsp + 0x28]
call fcn.00402170
nop
bts ebx, 8
mov dword [rsp + 0xa0], ebx
mov rdx, rax
mov rcx, rbp
call fcn.004068d0
test al, al
je 0x4025a1
mov dil, 1
jmp 0x4025a4
xor dil, dil
bt ebx, 8
jae 0x4025c0
btr ebx, 8
cmp qword [rsp + 0x48], 0x10
jb 0x4025c0
mov rcx, qword [rsp + 0x30]
call fcn.00407510
test dil, dil
jne 0x4025dd
add r12d, 1
add r14, 4
mov eax, dword [r15 + 0x18]
sub eax, 1
cmp r12d, eax
jbe 0x4022d0
mov r15, qword [rsp + 0xb0]
movzx ecx, word [r15 + r12*2]
mov rax, qword [rsp + 0xb8]
mov eax, dword [rax + rcx*4]
add rax, r13
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret