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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0xa4
push ebp
push edi
mov edi, dword [eax + 0x20]
test edi, edi
mov ebp, ecx
je 0x5c2c0d
mov ecx, dword [ebp + 0xd0]
xor dl, dl
xor al, al
test ecx, ecx
jbe 0x5c2c0d
push esi
mov esi, dword [ebp + 0xd0]
xor ecx, ecx
push ebx
mov ebx, 1
shl ebx, cl
test edi, ebx
je 0x5c20f5
mov ebx, dword [ebp + 4]
imul ecx, ecx, 0x88
add ecx, ebx
mov ebx, dword [ecx + 4]
or ebx, dword [ecx]
setne cl
or dl, cl
inc al
movzx ecx, al
cmp ecx, esi
jb 0x5c20d5
test dl, dl
je 0x5c2c0b
xor eax, eax
xor edx, edx
mov ecx, 0x13
lea edi, [esp + 0x68]
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], ecx
mov word [esp + 0x64], dx
mov word [esp + 0x3c], ax
mov word [esp + 0x50], cx
mov byte [esp + 0x66], dl
mov byte [esp + 0x3e], al
mov byte [esp + 0x52], cl
mov dword [esp + 0x14], 4
lea ebx, [ebx]
mov edx, dword [esp + 0xb8]
mov al, byte [edx + 0x28]
test al, al
je 0x5c26d8
mov eax, dword [esp + 0x14]
mov ecx, eax
mov esi, 1
shl esi, cl
mov ecx, edx
mov edx, dword [ecx + 0x20]
mov ecx, dword [ebp + 0xd0]
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov byte [esp + 0x13], 0
jbe 0x5c2287
lea esp, [esp]
mov ecx, edi
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x24]
test ecx, edx
je 0x5c226e
mov ecx, dword [ebp + 4]
mov edx, edi
imul edx, edx, 0x88
lea ebx, [edx + ecx]
mov edx, dword [ebx + 4]
and edx, esi
cmp edx, esi
jne 0x5c2202
mov ecx, dword [ebx]
and ecx, esi
cmp ecx, esi
je 0x5c2202
or dword [esp + 0x20], esi
mov ecx, edi
mov dl, 1
shl dl, cl
or byte [esp + eax + 0x2c], dl
mov ecx, dword [ebx + 4]
and ecx, esi
cmp ecx, esi
je 0x5c2221
mov edx, dword [ebx]
and edx, esi
cmp edx, esi
jne 0x5c2221
or dword [esp + 0x1c], esi
mov ecx, edi
mov dl, 1
shl dl, cl
or byte [esp + eax + 0x40], dl
mov ecx, dword [ebx + 4]
and ecx, esi
cmp ecx, esi
jne 0x5c226e
mov edx, dword [ebx]
and edx, esi
cmp edx, esi
jne 0x5c226e
or dword [esp + 0x18], esi
push esi
mov ecx, ebx
call fcn.005aea10
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x68], eax
jbe 0x5c224e
mov eax, dword [esp + ecx*4 + 0x68]
jmp 0x5c225a
push esi
mov ecx, ebx
call fcn.005aea10
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x68], eax
lea eax, [esp + ecx + 0x54]
mov ecx, edi
mov dl, 1
shl dl, cl
or byte [eax], dl
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x13]
inc cl
movzx edi, cl
mov byte [esp + 0x13], cl
cmp edi, dword [ebp + 0xd0]
jb 0x5c21c0
cmp eax, 4
jne 0x5c237b
mov eax, dword [esp + 0xb8]
mov cl, byte [eax + 0x17]
test cl, cl
je 0x5c237b
mov eax, dword [ebp + 0xd0]
test eax, eax
mov byte [esp + 0x13], 0
jbe 0x5c237b
xor ebx, ebx
jmp 0x5c22c0
mov eax, dword [esp + 0x24]
mov edx, 1
mov ecx, ebx
shl edx, cl
test edx, eax
je 0x5c2362
mov ecx, dword [ebp + 4]
mov eax, ebx
imul eax, eax, 0x88
lea edi, [eax + ecx]
test byte [edi + 4], 0x40
je 0x5c230e
test byte [edi], 0x40
jne 0x5c2308
mov ecx, dword [esp + 0x20]
mov al, byte [esp + 0x30]
or ecx, esi
mov dword [esp + 0x20], ecx
mov dl, 1
mov ecx, ebx
shl dl, cl
or al, dl
mov byte [esp + 0x30], al
test byte [edi + 4], 0x40
jne 0x5c2327
test byte [edi], 0x40
je 0x5c2321
or dword [esp + 0x1c], esi
mov ecx, ebx
mov al, 1
shl al, cl
or byte [esp + 0x44], al
test byte [edi + 4], 0x40
je 0x5c2362
test byte [edi], 0x40
je 0x5c2362
mov eax, dword [esp + 0x18]
or eax, esi
push 0x40
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.005aea10
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jbe 0x5c234b
mov eax, ecx
jmp 0x5c2354
push 0x40
mov ecx, edi
call fcn.005aea10
mov dl, 1
mov ecx, ebx
shl dl, cl
mov dword [esp + 0x78], eax
or byte [esp + 0x58], dl
mov al, byte [esp + 0x13]
inc al
movzx ebx, al
mov byte [esp + 0x13], al
cmp ebx, dword [ebp + 0xd0]
jb 0x5c22c0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
or eax, edx
or eax, ecx
je 0x5c26c6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xb8]
mov edi, dword [ecx + 0x8c]
add eax, 0xfffffffc
cmp eax, 0xe
ja case.default.0x5c23b5
movzx edx, byte [eax + 0x5c2c24]
jmp dword [edx*4 + 0x5c2c18]
test byte [esp + 0x20], 0x10
je case.default.0x5c23b5
test edi, edi
mov eax, dword [esp + 0x14]
mov dword [ebp + eax*4 + 0x80], edi
je 0x5c23ee
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x5c23ee
mov ecx, 0xc407210
cmp dword [eax + 0xc], ecx
je 0x5c2416
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c23e2
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0x5c]
test eax, eax
je case.default.0x5c23b5
mov ecx, 0x406415e3
cmp dword [eax + 0xc], ecx
je 0x5c2455
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c2405
jmp case.default.0x5c23b5
movzx ebx, byte [esp + 0x30]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x8c]
push ebx
push ecx
push eax
push 0
push 0xc407210
mov ecx, ebp
call fcn.005b7780
mov eax, dword [esp + 0xb8]
mov edx, dword [eax + 0x8c]
push ebx
push 0xfffffffffffffffb
push eax
push edx
push 0xc407210
jmp 0x5c25f3
movzx ebx, byte [esp + 0x30]
mov ecx, dword [esp + 0xb8]
push ebx
push 0xfffffffffffffffd
push ecx
push 0
push 0x406415e3
mov ecx, ebp
call fcn.005b7780
mov edx, dword [esp + 0xb8]
push ebx
push 0xfffffffffffffffb
push edx
push 0
push 0x406415e3
jmp 0x5c25f3
test dword [esp + 0x18], esi
je case.0x5c23b5.5
test edi, edi
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + eax + 0x2c]
mov ebx, dword [eax*4 + 0x8f5718]
mov dword [esp + 0x18], ecx
je 0x5c24bf
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x5c24bf
cmp dword [eax + 0xc], ebx
je 0x5c24de
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c24b3
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0x5c]
test eax, eax
je case.0x5c23b5.5
lea ecx, [ecx]
cmp dword [eax + 0xc], ebx
je 0x5c2508
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c24d0
jmp case.0x5c23b5.5
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
push edx
push edi
push eax
push 0
push ebx
mov ecx, ebp
call fcn.005b7780
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xb8]
push ecx
push 0xfffffffffffffffb
push edx
push edi
jmp 0x5c2532
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xb8]
push ecx
push 0xfffffffffffffffd
push edx
push 0
push ebx
mov ecx, ebp
call fcn.005b7780
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xb8]
push eax
push 0xfffffffffffffffb
push ecx
push 0
mov ecx, ebp
push ebx
call fcn.005b7780
test dword [esp + 0x20], esi
je case.default.0x5c23b5
test edi, edi
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + eax + 0x2c]
mov dword [ebp + eax*4 + 0x80], edi
mov ebx, dword [eax*4 + 0x8f56e8]
mov dword [esp + 0x18], edx
je 0x5c257c
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x5c257c
lea ebx, [ebx]
cmp dword [eax + 0xc], ebx
je 0x5c259e
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c2570
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + 0x5c]
test eax, eax
je case.default.0x5c23b5
lea ebx, [ebx]
cmp dword [eax + 0xc], ebx
je 0x5c25c8
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c2590
jmp case.default.0x5c23b5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xb8]
push eax
push edi
push ecx
push 0
push ebx
mov ecx, ebp
call fcn.005b7780
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
push edx
push 0xfffffffffffffffb
push eax
push edi
jmp 0x5c25f2
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
push edx
push 0xfffffffffffffffd
push eax
push 0
push ebx
mov ecx, ebp
call fcn.005b7780
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xb8]
push ecx
push 0xfffffffffffffffb
push edx
push 0
push ebx
mov ecx, ebp
call fcn.005b7780
test dword [esp + 0x1c], esi
je 0x5c26b5
mov eax, dword [esp + 0x14]
cmp dword [ebp + eax*4 + 0x80], edi
movzx ebx, byte [esp + eax + 0x40]
mov esi, dword [eax*4 + 0x8f5740]
jne 0x5c2676
test edi, edi
je 0x5c2676
cmp eax, 4
mov dword [ebp + eax*4 + 0x80], 0
jne 0x5c2636
mov esi, 0x936a6a7f
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x5c2676
lea ecx, [ecx]
cmp dword [eax + 0xc], esi
je 0x5c264e
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c2640
jmp 0x5c2676
mov eax, dword [esp + 0xb8]
push ebx
push edi
push eax
push 0
push esi
mov ecx, ebp
call fcn.005b7780
mov ecx, dword [esp + 0xb8]
push ebx
push 0xfffffffffffffffb
push ecx
push edi
push esi
mov ecx, ebp
call fcn.005b7780
mov edx, dword [esp + 0xb8]
mov eax, dword [edx + 0x5c]
test eax, eax
je 0x5c26b5
cmp dword [eax + 0xc], esi
je 0x5c2692
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c2684
jmp 0x5c26b5
mov edi, dword [esp + 0xb8]
push ebx
push 0xfffffffffffffffd
push edi
push 0
push esi
mov ecx, ebp
call fcn.005b7780
push ebx
push 0xfffffffffffffffb
push edi
push 0
push esi
mov ecx, ebp
call fcn.005b7780
mov eax, dword [ebp + 0x4114]
test eax, eax
je 0x5c26c6
mov ecx, ebp
call fcn.005c1460
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x13
mov dword [esp + 0x14], eax
jb 0x5c2170
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0x20]
mov cl, byte [ecx + 0x28]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], eax
mov byte [esp + 0x2b], cl
jmp 0x5c2700
mov cl, byte [esp + 0x2b]
test cl, cl
je 0x5c27e0
mov ecx, eax
mov esi, 1
shl esi, cl
mov ecx, dword [ebp + 0xd0]
test ecx, ecx
mov byte [esp + 0x13], 0
jbe 0x5c27d2
xor edi, edi
lea ebx, [ebx]
mov ecx, edi
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x24]
test ecx, edx
je 0x5c27b9
mov ecx, dword [ebp + 4]
mov edx, edi
imul edx, edx, 0x88
lea ebx, [edx + ecx]
mov edx, dword [ebx + 4]
and edx, esi
cmp edx, esi
jne 0x5c276e
mov ecx, dword [ebx]
and ecx, esi
cmp ecx, esi
je 0x5c276e
or dword [esp + 0x20], esi
mov ecx, edi
mov dl, 1
shl dl, cl
or byte [esp + eax + 0x2c], dl
mov ecx, dword [ebx + 4]
and ecx, esi
cmp ecx, esi
jne 0x5c27b9
mov ecx, dword [ebx]
mov edx, esi
and edx, ecx
cmp edx, esi
jne 0x5c27b9
push esi
mov ecx, ebx
call fcn.005aea10
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x68], eax
jbe 0x5c2799
mov eax, dword [esp + ecx*4 + 0x68]
jmp 0x5c27a5
push esi
mov ecx, ebx
call fcn.005aea10
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x68], eax
lea eax, [esp + ecx + 0x54]
mov ecx, edi
mov dl, 1
shl dl, cl
or byte [eax], dl
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x13]
inc cl
movzx edi, cl
mov byte [esp + 0x13], cl
cmp edi, dword [ebp + 0xd0]
jb 0x5c2730
inc eax
cmp eax, 4
mov dword [esp + 0x14], eax
jb 0x5c2700
xor ebx, ebx
mov eax, dword [esp + 0xb8]
mov cl, byte [eax + 0x28]
test cl, cl
je 0x5c2c0b
mov eax, dword [eax + 0x8c]
movzx ecx, byte [ebx*4 + 0x8f56c8]
mov dword [esp + 0x14], eax
mov al, byte [ebx*4 + 0x8f56c9]
cmp al, 0xff
je 0x5c2862
mov ecx, dword [esp + ecx*4 + 0x68]
movzx edx, al
mov eax, dword [esp + edx*4 + 0x68]
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jb 0x5c2828
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx*4 + 0x8f56c9]
movzx edi, byte [ebx*4 + 0x8f56c8]
mov esi, dword [esp + 0x20]
mov edx, esi
mov ecx, eax
shr edx, cl
mov ecx, edi
shr esi, cl
movzx ecx, byte [esp + edi + 0x2c]
and edx, esi
movzx esi, byte [esp + eax + 0x2c]
movzx eax, byte [esp + eax + 0x54]
and esi, ecx
movzx ecx, byte [esp + edi + 0x54]
and eax, ecx
jmp 0x5c287a
mov edx, dword [esp + ecx*4 + 0x68]
movzx esi, byte [esp + ecx + 0x2c]
movzx eax, byte [esp + ecx + 0x54]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
shr edx, cl
or esi, eax
mov eax, dword [ebp + 0x28]
mov ecx, ebx
mov edi, 1
shl edi, cl
mov ecx, dword [esp + 0x1c]
and edx, 1
and eax, edi
neg eax
sbb eax, eax
and eax, 0xffffff38
add eax, 0x140
cmp ecx, eax
jae 0x5c28e7
test edx, edx
je 0x5c28ad
test ecx, ecx
je 0x5c28fb
jmp 0x5c28bf
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5c28bf
mov eax, dword [ebp + 0x2c]
not edi
and eax, edi
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x4114]
test eax, eax
je 0x5c28d0
mov ecx, ebp
call fcn.005c1460
inc ebx
cmp ebx, 8
jb 0x5c27e2
pop ebx
pop esi
pop edi
pop ebp
add esp, 0xa4
ret 4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x5c28fb
mov ecx, ebx
mov edx, 1
shl edx, cl
or dword [ebp + 0x2c], edx
movzx ecx, byte [ebx*4 + 0x8f56c8]
mov dword [ebp + ecx*4 + 0x34], eax
mov cl, byte [ebx*4 + 0x8f56c9]
cmp cl, 0xff
je 0x5c291a
movzx edx, cl
mov dword [ebp + edx*4 + 0x34], eax
mov al, byte [ebx*4 + 0x8f56c9]
xor edx, edx
cmp al, 0xff
je 0x5c295e
movzx eax, byte [ebx*4 + 0x8f56c8]
movzx ecx, byte [ebx*4 + 0x8f56c9]
mov dword [esp + eax*4 + 0x68], edx
mov edi, 1
shl edi, cl
mov dword [esp + ecx*4 + 0x68], edx
mov ecx, 1
mov dword [esp + 0x24], ecx
mov ecx, eax
mov eax, dword [esp + 0x24]
shl eax, cl
or edi, eax
or dword [ebp + 0x30], edi
jmp 0x5c2974
movzx ecx, byte [ebx*4 + 0x8f56c8]
mov eax, 1
shl eax, cl
mov dword [esp + ecx*4 + 0x68], edx
or dword [ebp + 0x30], eax
mov edi, dword [esp + 0x14]
cmp edi, edx
je 0x5c2bb9
movzx eax, word [ebx*4 + 0x8f56ca]
mov ecx, dword [eax*4 + 0x8f5670]
lea ebx, [ebx*4 + 0x8f56ca]
mov dword [esp + 0x18], ebx
mov ebx, dword [edi + 0x3c]
cmp ebx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
je 0x5c29c0
lea esp, [esp]
cmp dword [ebx + 0xc], ecx
je 0x5c2a85
mov ebx, dword [ebx + 4]
cmp ebx, edx
jne 0x5c29b0
test dword [edi + 0x1c], 0x80000
mov edi, dword [esp + 0xb8]
jne 0x5c29f3
mov ecx, dword [ebp + 0xcc]
mov edx, dword [ebp + 0x108]
push ecx
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
lea ecx, [edi + 0x90]
call fcn.005b9640
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x1c]
push esi
push 0xfffffffffffffffd
push edi
push 0
push ecx
mov ecx, ebp
call fcn.005b7780
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push esi
push 0xfffffffffffffffb
push edi
push edx
push eax
mov ecx, ebp
call fcn.005b7780
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c2c0b
mov ebx, 4
jmp 0x5c2a30
mov eax, dword [ebp + ebx*4 + 0x80]
test eax, eax
je 0x5c2b3c
cmp ebx, 4
mov dword [ebp + ebx*4 + 0x80], 0
mov esi, dword [ebx*4 + 0x8f5740]
jne 0x5c2a5b
mov esi, 0x936a6a7f
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x5c2b3c
lea ebx, [ebx]
cmp dword [eax + 0xc], esi
je 0x5c2b10
mov eax, dword [eax + 4]
test eax, eax
jne 0x5c2a70
jmp 0x5c2b3c
cmp ebx, edx
je 0x5c29c0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0xb8]
mov edx, dword [esp + 0x1c]
push esi
push ecx
push edi
push 0
push edx
mov ecx, ebp
call fcn.005b7780
mov eax, dword [esp + 0x14]
test dword [eax + 0x1c], 0x80000
jne 0x5c2a05
mov ecx, dword [ebx + 0x10]
xor eax, eax
test ecx, ecx
jbe 0x5c2ae1
mov ebx, dword [ebx + 0x14]
cmp dword [ebx], 0x104
je 0x5c2ad8
inc eax
add ebx, 0xc
cmp eax, ecx
jb 0x5c2ac6
jmp 0x5c2ae1
cmp eax, 0xffffffff
jne 0x5c2a05
mov ecx, dword [ebp + 0xcc]
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x108]
push ecx
movzx ecx, word [eax]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push edx
lea ecx, [edi + 0x90]
call fcn.005b9640
mov dword [esp + 0x24], eax
jmp 0x5c2a05
movzx eax, byte [esp + ebx + 0x40]
mov edx, dword [esp + 0x14]
push eax
push edx
push edi
push 0
push esi
mov ecx, ebp
call fcn.005b7780
movzx eax, byte [esp + ebx + 0x40]
push eax
mov eax, dword [esp + 0x18]
push 0xfffffffffffffffb
push edi
push eax
push esi
mov ecx, ebp
call fcn.005b7780
inc ebx
cmp ebx, 0x13
jb 0x5c2a30
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x5c2b7c
mov ecx, dword [edi + 0x30]
push 0
push eax
push edi
push 0
push 0x55d1e635
call fcn.005b7780
mov ecx, dword [edi + 0x8c]
push 0
push 0xfffffffffffffffb
push edi
push ecx
mov ecx, dword [edi + 0x30]
push 0x55d1e635
call fcn.005b7780
mov esi, dword [esp + 0x24]
mov ecx, dword [edi + 0x30]
push 0
push esi
push edi
push 0
push 0xabc08912
call fcn.005b7780
mov ecx, dword [edi + 0x30]
push 0
push 0xfffffffffffffffb
push edi
push esi
push 0xabc08912
call fcn.005b7780
pop ebx
mov dword [edi + 0x8c], esi
pop esi
pop edi
pop ebp
add esp, 0xa4
ret 4
movzx eax, word [ebx*4 + 0x8f56ca]
mov ebx, dword [esp + 0xb8]
mov edi, dword [eax*4 + 0x8f5670]
mov eax, dword [ebx + 0x5c]
cmp eax, edx
je 0x5c2c0b
cmp dword [eax + 0xc], edi
je 0x5c2bef
mov eax, dword [eax + 4]
cmp eax, edx
jne 0x5c2bd6
pop ebx
pop esi
pop edi
pop ebp
add esp, 0xa4
ret 4
push esi
push 0xfffffffffffffffd
push ebx
push 0
push edi
mov ecx, ebp
call fcn.005b7780
push esi
push 0xfffffffffffffffb
push ebx
push 0
push edi
mov ecx, ebp
call fcn.005b7780
pop ebx
pop esi
pop edi
pop ebp
add esp, 0xa4
ret 4