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

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x24]
push ebx
push ebp
push esi
movzx eax, byte [edx - 3]
mov esi, dword [esp + 0x2c]
push edi
mov edi, 0xef
mov dword [esp + 0x18], 0x80
movzx ebp, word [eax*2 + str.o__f]
mov eax, 0x80
dec dword [esi + 0x78]
movzx ecx, word [edx]
mov dword [esp + 0x14], eax
mov eax, 0x8000
mov dword [esp + 0x10], ebp
cmp word [edx + 2], ax
jae 0x102a3bd5
push edi
push ecx
push esi
call fcn.102a4ef0
add esp, 0xc
mov ebx, eax
jmp 0x102a3c35
mov eax, dword [esi + 0x48]
movzx ebx, byte [eax + ecx*8 + 6]
test bl, bl
jns 0x102a3bf6
push 0xef
push ecx
push esi
call fcn.102ac0e0
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ebx, eax
mov eax, dword [esi + 0x60]
btr edi, ebx
btr eax, ebx
mov dword [esi + 0x60], eax
movzx eax, word [edx + 2]
push edi
push eax
push esi
call fcn.102a4ef0
add esp, 0xc
mov dword [esp + 0x18], eax
cmp eax, 0x10
jne 0x102a3c32
mov cl, byte [esi + 0x54]
cmp cl, 0x80
je 0x102a3c28
movzx ecx, cl
btr edi, ecx
mov al, byte [esi + 0x55]
cmp al, 0x80
je 0x102a3c35
movzx eax, al
btr edi, eax
mov eax, dword [esi + 0x50]
mov ecx, 0x8000
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x54]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
movzx edx, word [eax - 8]
cmp word [eax - 6], cx
jae 0x102a3c66
push edi
push edx
push esi
call fcn.102a4ef0
mov edi, eax
mov dword [esp + 0x3c], edi
jmp 0x102a3cab
mov eax, dword [esi + 0x48]
movzx ecx, byte [eax + edx*8 + 6]
mov dword [esp + 0x30], ecx
test cl, cl
jns 0x102a3c87
push edi
push edx
push esi
call fcn.102ac0e0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x30], ecx
mov eax, dword [esi + 0x60]
btr edi, ecx
btr eax, ecx
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x34]
push edi
movzx eax, word [eax - 6]
push eax
push esi
call fcn.102a4ef0
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x40]
add esp, 0xc
mov dword [esp + 0x20], eax
mov eax, ebp
shr eax, 4
mov dword [esi + 0xc0], 0
push eax
push esi
mov dword [esi + 0xbc], 0
mov dword [esp + 0x24], eax
call fcn.102a5d30
mov eax, dword [esp + 0x1c]
add esp, 8
test al, al
jns 0x102a3d69
mov ebp, dword [esp + 0x34]
mov eax, dword [esi + 0x48]
mov edx, dword [esp + 0x30]
movzx ecx, word [ebp - 6]
mov ecx, dword [eax + ecx*8]
test ecx, ecx
jne 0x102a3d2e
mov eax, dword [esp + 0x1c]
and al, 0xa
cmp al, 2
je 0x102a3d2e
cmp edx, 0x10
je 0x102a3d2e
mov ecx, dword [esi + 0x40]
and dl, 7
mov al, dl
shl dl, 3
sub al, 0x40
add al, dl
mov byte [ecx - 1], al
lea eax, [ecx - 2]
mov dword [ecx - 5], 0x850000fe
mov dword [esi + 0x40], eax
jmp 0x102a3d7d
mov edi, dword [esi + 0x40]
movsx eax, cl
cmp ecx, eax
jne 0x102a3d51
lea eax, [edi - 1]
push edx
mov dword [esi + 0x40], eax
mov byte [eax], cl
mov eax, 0x830000fe
push 7
push eax
push esi
call fcn.102ab5a0
jmp 0x102a3d7a
push edx
mov eax, 0x810000fe
mov dword [edi - 4], ecx
add dword [esi + 0x40], 0xfffffffc
push 7
push eax
push esi
call fcn.102ab5a0
jmp 0x102a3d7a
push eax
push edi
push 0x3b0000fe
push esi
call fcn.102ab5a0
mov ebp, dword [esp + 0x44]
add esp, 0x10
mov edx, dword [esp + 0x10]
mov ecx, edx
and ecx, 0xf
cmp ecx, 5
je 0x102a3da5
mov eax, dword [esi + 0x40]
mov edx, dword [esp + 0x20]
sub dl, al
mov byte [eax - 2], 0x75
mov byte [eax - 1], dl
add eax, 0xfffffffe
mov edx, dword [esp + 0x10]
mov dword [esi + 0x40], eax
cmp ecx, 4
je 0x102a3dbd
mov eax, edx
shr eax, 8
push eax
push esi
call fcn.102a5d30
mov edx, dword [esp + 0x18]
add esp, 8
mov eax, dword [esp + 0x24]
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0x54], eax
mov eax, dword [esp + 0x18]
test al, al
jns 0x102a3e66
movzx ecx, word [ebp + 2]
mov eax, dword [esi + 0x48]
mov ecx, dword [eax + ecx*8]
test ecx, ecx
jne 0x102a3e19
and dl, 0xa
cmp dl, 2
je 0x102a3e19
cmp ebx, 0x10
je 0x102a3e19
mov ecx, dword [esi + 0x40]
and bl, 7
mov al, bl
shl bl, 3
sub al, 0x40
add al, bl
mov byte [ecx - 1], al
lea eax, [ecx - 2]
pop edi
mov dword [ecx - 5], 0x850000fe
mov dword [esi + 0x40], eax
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [esi + 0x40]
movsx eax, cl
cmp ecx, eax
jne 0x102a3e45
lea eax, [edx - 1]
mov dword [esi + 0x40], eax
push ebx
mov byte [eax], cl
mov eax, 0x830000fe
push 7
push eax
push esi
call fcn.102ab5a0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push ebx
mov eax, 0x810000fe
mov dword [edx - 4], ecx
add dword [esi + 0x40], 0xfffffffc
push 7
push eax
push esi
call fcn.102ab5a0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push eax
push ebx
push 0x3b0000fe
push esi
call fcn.102ab5a0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret