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

Disassembly:
push 0xffffffffffffffff
push 0x50525a
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58e2fc]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
mov esi, ecx
mov edi, 2
xor ebx, ebx
mov dword [esp + 0xd8], 1
cmp dword [esi + 0x24], edi
je 0xb22caa
push ecx
mov ecx, dword [esp + 0xe8]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x34], esp
cmp ecx, ebx
je 0xb22ca3
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, esi
call fcn.00b21abc
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x50]
push 0x10a108
call eax
mov ecx, eax
shr eax, 9
and ecx, 0x1ff
and eax, 0x1ff
shl ecx, 8
shl eax, 8
mov dword [esi + 0x48], ecx
mov dword [esi + 0x44], eax
cmp dword [esi + 0x24], edi
jne 0xb22d4a
xor ecx, ecx
shr eax, 2
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00bd7e1c
mov ecx, dword [esi + 0x58]
mov edi, eax
mov eax, esp
mov dword [esp + 0x34], esp
mov dword [eax], ecx
cmp ecx, ebx
je 0xb22d0e
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov eax, dword [esi + 0x44]
push edi
shr eax, 2
push eax
push ebx
push ebx
mov ecx, esi
call fcn.00b216cc
mov dword [esi + 0x2c], edi
xor eax, eax
mov ecx, edi
lea ebx, [ebx]
cmp dword [ecx], 0x50414d44
je 0xb22fdf
inc eax
add ecx, 4
cmp eax, 0x200
jl 0xb22d2c
mov dword [esi + 0x4c], 4
cmp byte [esi + 0xf4], bl
je 0xb22ebb
push 1
push 2
lea ecx, [esp + 0x58]
call fcn.00b1635c
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
push ecx
push 0x522434
push edx
lea eax, [esp + 0x5c]
push 0x522420
push eax
mov byte [esp + 0xec], 2
call fcn.00b0733c
add esp, 8
mov ecx, eax
call fcn.00b143ec
push eax
call fcn.00b0733c
add esp, 8
mov ecx, eax
call fcn.00b143ec
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + edi + 8]
lea eax, [edx + edi]
xor ebp, ebp
test cl, 6
jne 0xb22dd5
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb22dd5
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb22df4
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb22ded
or eax, 4
push ebx
push eax
call fcn.00afe68c
cmp dword [esi + 0x4c], ebx
je 0xb22ffa
cmp dword [esi + 0x24], 2
jne 0xb22ffa
lea edx, [esp + 0x50]
push 0x5223c8
push edx
call fcn.00b0733c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov ecx, edi
call fcn.00afed8c
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov ecx, edi
call fcn.00afed8c
mov ebp, 0x10
mov edi, dword [esp + 0xe0]
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x54]
call fcn.00b160cc
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x14]
push 1
mov ecx, edi
mov byte [esp + 0xe0], 0xf
call eax
cmp dword [esp + 0x2c], ebp
jb 0xb22e7c
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00bd897e
add esp, 4
lea ecx, [esp + 0x9c]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 1
call fcn.00b15e0c
lea edx, [esp + 0x9c]
push edx
mov dword [esp + 0xa0], 0x5107d8
call fcn.00bd8456
add esp, 4
cmp dword [esi + 0x24], ebx
jne 0xb22f8d
push ecx
mov ecx, dword [esp + 0xe8]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x34], esp
cmp ecx, ebx
je 0xb22ee5
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x30]
push ecx
push edx
push ebx
push 1
mov ecx, esi
call fcn.00b217dc
push ecx
mov ecx, dword [esp + 0xe8]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x34], esp
cmp ecx, ebx
je 0xb22f18
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x34]
push ecx
push edx
push ebx
push ebx
mov ecx, esi
call fcn.00b217dc
push ecx
mov ecx, dword [esp + 0xe8]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x34], esp
cmp ecx, ebx
je 0xb22f4a
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, esi
call fcn.00b21c5c
cmp byte [esi + 0xf4], bl
jne 0xb22f76
mov edi, 0x1f4
call fcn.00b08adc
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 0x3e8
call eax
sub edi, 1
jne 0xb22f5e
push 0xa
mov ecx, esi
call fcn.00b2295c
cmp eax, ebx
je 0xb22f8d
push eax
push 0xa
mov ecx, esi
call fcn.00b2217c
mov ecx, dword [esp + 0xe0]
mov byte [esp + 0xd8], bl
cmp ecx, ebx
je 0xb22fa6
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xd8], 0xffffffff
cmp ecx, ebx
je 0xb22fc3
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc8
ret 0xc
lea eax, [edi + eax*4]
mov dword [esi + 0x50], eax
mov eax, dword [eax + 0x20]
cmp eax, ebx
je 0xb22d4a
add eax, edi
mov dword [esi + 0x54], eax
jmp 0xb22d4a
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
push eax
push 0x522434
push ecx
lea edx, [esp + 0x5c]
push 0x5223b0
push edx
call fcn.00b0733c
add esp, 8
mov ecx, eax
call fcn.00b143ec
push eax
call fcn.00b0733c
add esp, 8
mov ecx, eax
call fcn.00b143ec
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov eax, dword [edi]
mov ecx, dword [eax + 4]
lea eax, [ecx + edi]
xor ebp, ebp
test byte [eax + 8], 6
jne 0xb23061
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb23061
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb23080
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb23079
or eax, 4
push ebx
push eax
call fcn.00afe68c
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
xor ebp, ebp
test byte [eax + 8], 6
jne 0xb230ae
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb230ae
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb230cd
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb230c6
or eax, 4
push ebx
push eax
call fcn.00afe68c
mov edx, dword [esi + 0x3c]
push 8
push edx
lea eax, [esp + 0x3c]
push eax
call fcn.00b0bcec
mov edi, eax
mov ecx, dword [esi + 0x38]
push 8
push ecx
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0xf0], 3
call fcn.00b0bcec
add esp, 0x18
push edi
push 0x5223a0
push eax
lea eax, [esp + 0x5c]
push 0x522390
push eax
mov byte [esp + 0xec], 4
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
push eax
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
mov edi, 0x10
add esp, 8
cmp dword [esp + 0x2c], edi
jb 0xb2314e
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00bd897e
add esp, 4
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 2
cmp dword [esp + 0x4c], edi
jb 0xb23179
mov edx, dword [esp + 0x38]
push edx
call fcn.00bd897e
add esp, 4
cmp byte [esi + 0x40], bl
je 0xb23190
lea eax, [esp + 0x50]
push 0x522378
push eax
call fcn.00b0733c
add esp, 8
push 0xa
lea ecx, [esp + 0x54]
call fcn.00b07a0c
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
xor edi, edi
test byte [esp + eax + 0x58], 6
jne 0xb231c2
mov eax, dword [esp + eax + 0x78]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb231c2
mov edi, 4
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
lea ecx, [esp + ecx + 0x50]
cmp edi, ebx
je 0xb231e5
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0xb231de
or eax, 4
push ebx
push eax
call fcn.00afe68c
push 0xa
lea ecx, [esp + 0x54]
call fcn.00b07a0c
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
xor edi, edi
test byte [esp + eax + 0x58], 6
jne 0xb23217
mov eax, dword [esp + eax + 0x78]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb23217
mov edi, 4
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
lea ecx, [esp + ecx + 0x50]
cmp edi, ebx
je 0xb2323a
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0xb23233
or eax, 4
push ebx
push eax
call fcn.00afe68c
lea edx, [esp + 0x50]
push 0x522364
push edx
call fcn.00b0733c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov eax, dword [edi]
mov ecx, dword [eax + 4]
lea eax, [ecx + edi]
xor ebp, ebp
test byte [eax + 8], 6
jne 0xb2327d
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb2327d
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb2329c
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb23295
or eax, 4
push ebx
push eax
call fcn.00afe68c
mov edx, dword [esi + 0x50]
mov eax, dword [edx + 0xc]
push 8
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00b0bcec
mov edi, eax
mov edx, dword [esi + 0x50]
mov eax, dword [edx + 8]
push 8
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0xf0], 5
call fcn.00b0bcec
add esp, 0x18
push edi
push 0x522348
push eax
lea edx, [esp + 0x5c]
push 0x52232c
push edx
mov byte [esp + 0xec], 6
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
push eax
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov eax, dword [edi]
mov ecx, dword [eax + 4]
lea eax, [ecx + edi]
xor ebp, ebp
test byte [eax + 8], 6
jne 0xb2333c
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb2333c
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb2335b
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb23354
or eax, 4
push ebx
push eax
call fcn.00afe68c
cmp dword [esp + 0x2c], 0x10
jb 0xb2336f
mov edx, dword [esp + 0x18]
push edx
call fcn.00bd897e
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 2
jb 0xb2339b
mov eax, dword [esp + 0x38]
push eax
call fcn.00bd897e
add esp, 4
mov ecx, dword [esi + 0x50]
mov edx, dword [ecx + 0x14]
push 8
push edx
lea eax, [esp + 0x3c]
push eax
call fcn.00b0bcec
mov edi, eax
mov ecx, dword [esi + 0x50]
mov edx, dword [ecx + 0x10]
push 8
push edx
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xf0], 7
call fcn.00b0bcec
add esp, 0x18
push edi
push 0x522310
push eax
lea ecx, [esp + 0x5c]
push 0x5222f0
push ecx
mov byte [esp + 0xec], 8
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
push eax
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
xor ebp, ebp
test byte [eax + 8], 6
jne 0xb2343a
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb2343a
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb23459
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb23452
or eax, 4
push ebx
push eax
call fcn.00afe68c
cmp dword [esp + 0x2c], 0x10
jb 0xb2346d
mov edx, dword [esp + 0x18]
push edx
call fcn.00bd897e
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 2
jb 0xb23499
mov eax, dword [esp + 0x38]
push eax
call fcn.00bd897e
add esp, 4
mov ecx, dword [esi + 0x50]
mov edx, dword [ecx + 0x1c]
push 8
push edx
lea eax, [esp + 0x3c]
push eax
call fcn.00b0bcec
mov edi, eax
mov ecx, dword [esi + 0x50]
mov edx, dword [ecx + 0x18]
push 8
push edx
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xf0], 9
call fcn.00b0bcec
add esp, 0x18
push edi
push 0x5222d0
push eax
lea ecx, [esp + 0x5c]
push 0x5222ac
push ecx
mov byte [esp + 0xec], 0xa
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
push eax
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov edx, dword [edi]
mov eax, dword [edx + 4]
add eax, edi
xor ebp, ebp
test byte [eax + 8], 6
jne 0xb23538
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0xb23538
mov ebp, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
cmp ebp, ebx
je 0xb23557
mov eax, dword [ecx + 8]
or eax, ebp
cmp dword [ecx + 0x28], ebx
jne 0xb23550
or eax, 4
push ebx
push eax
call fcn.00afe68c
cmp dword [esp + 0x2c], 0x10
jb 0xb2356b
mov edx, dword [esp + 0x18]
push edx
call fcn.00bd897e
add esp, 4
cmp dword [esp + 0x4c], 0x10
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 2
jb 0xb23597
mov eax, dword [esp + 0x38]
push eax
call fcn.00bd897e
add esp, 4
mov ecx, dword [esi + 0x50]
cmp dword [ecx + 0x20], ebx
je 0xb22e3b
mov edx, dword [esi + 0x54]
mov eax, dword [edx + 8]
push 8
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00b0bcec
mov edi, eax
mov edx, dword [esi + 0x54]
mov eax, dword [edx + 4]
push 8
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0xf0], 0xb
call fcn.00b0bcec
add esp, 0x18
push edi
push 0x522298
push eax
lea edx, [esp + 0x5c]
push 0x522274
push edx
mov byte [esp + 0xec], 0xc
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
push eax
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov ecx, edi
call fcn.00afed8c
mov ebp, 0x10
cmp dword [esp + 0x2c], ebp
jb 0xb2363c
mov eax, dword [esp + 0x18]
push eax
call fcn.00bd897e
add esp, 4
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 2
cmp dword [esp + 0x4c], ebp
jb 0xb23667
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00bd897e
add esp, 4
mov edx, dword [esi + 0x54]
mov eax, dword [edx + 0xc]
push 8
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00b0bcec
mov edi, eax
mov edx, dword [esi + 0x54]
mov eax, dword [edx]
push 8
push eax
lea ecx, [esp + 0x28]
push ecx
mov byte [esp + 0xf0], 0xd
call fcn.00b0bcec
add esp, 0x18
push edi
push 0x522268
push eax
lea edx, [esp + 0x5c]
push 0x52224c
push edx
mov byte [esp + 0xec], 0xe
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
push eax
call fcn.00b0733c
add esp, 8
push eax
call fcn.00b0778c
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00b07a0c
mov ecx, edi
call fcn.00afed8c
cmp dword [esp + 0x2c], ebp
jb 0xb236fa
mov eax, dword [esp + 0x18]
push eax
call fcn.00bd897e
add esp, 4
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0xd8], 2
cmp dword [esp + 0x4c], ebp
jb 0xb22e40
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00bd897e
add esp, 4
jmp 0xb22e40