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

Disassembly:
sub esp, 0x48
mov eax, dword [0x1023904c]
xor eax, esp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x6c]
push ebx
mov ebx, dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x64]
push esi
mov esi, ecx
mov ecx, dword [esp + 0x58]
cmp word [ecx + 0x9a], 0
push edi
movzx edi, word [esi + 0x3a]
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], 0
jne 0x1012f5c9
cmp dword [esp + 0x68], 0
jne 0x1006a59b
lea eax, [esp + 0x38]
push eax
push ebp
push ebx
mov ecx, esi
call fcn.1006a3fc
test eax, eax
je 0x1012f60d
mov eax, dword [esp + 0x44]
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esi + 0x90]
push eax
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f702
mov ecx, dword [esi + 0x80]
lea eax, [esp + 0x10]
push eax
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f702
mov edx, dword [esi + 0x80]
mov eax, dword [esp + 0x10]
cmp eax, dword [edx + 4]
ja 0x1012f644
mov edx, dword [edx]
add edx, eax
mov eax, dword [esp + 0x18]
mov cx, word [edx + 2]
xor cx, ax
and byte [edx + 0x3d], 0xf9
and cx, 1
xor cx, ax
movzx eax, byte [edx + 1]
and al, 0xfa
or al, 2
mov byte [edx + 1], al
movzx eax, byte [edx + 0x3b]
push 0
push 0
and al, 0xc3
or al, 3
push 0
mov byte [edx + 0x3b], al
push 0
lea eax, [esp + 0x28]
push eax
mov word [edx + 2], cx
mov ecx, dword [esi + 0x90]
push 0x1006aa14
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
mov ecx, dword [esi + 0x80]
lea eax, [esp + 0x14]
push eax
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
mov edx, dword [esi + 0x80]
mov eax, dword [esp + 0x14]
cmp eax, dword [edx + 4]
ja 0x1012f64b
mov edx, dword [edx]
add edx, eax
mov eax, dword [esp + 0x18]
mov cx, word [edx + 2]
xor cx, ax
and cx, 1
xor cx, ax
movzx eax, byte [edx]
and al, 0xef
or al, 0x28
mov byte [edx], al
movzx eax, byte [edx + 1]
and al, 0xfb
or al, 3
lea ebx, [edx + 0xc]
mov word [edx + 2], cx
mov byte [edx + 1], al
test ebx, ebx
je 0x1006a6b4
mov ax, word [0x1023bc50]
mov word [ebx], ax
and byte [ebx], 0x7f
push 3
mov ecx, ebx
call fcn.1001ef41
push 1
mov ecx, ebx
call fcn.100e1612
mov ecx, dword [esi + 0x80]
mov edx, dword [esp + 0x10]
cmp edx, dword [ecx + 4]
ja 0x1012f652
mov eax, dword [ecx]
add eax, edx
lea edx, [esp + 0x20]
push edx
add eax, 0x28
push eax
push dword [esp + 0x1c]
mov dword [esp + 0x2c], 0xffffffff
call fcn.100e1634
mov ecx, dword [esi + 0x90]
push 0
push 0
push 0
push 0
lea eax, [esp + 0x28]
push eax
push 0x1006aa20
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
mov ecx, dword [esi + 0x80]
lea eax, [esp + 0x14]
push eax
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
mov edx, dword [esi + 0x80]
mov eax, dword [esp + 0x14]
cmp eax, dword [edx + 4]
ja 0x1012f659
mov edx, dword [edx]
add edx, eax
mov eax, dword [esp + 0x18]
mov cx, word [edx + 2]
xor cx, ax
and cx, 1
xor cx, ax
movzx eax, byte [edx]
and al, 0xef
or al, 0x28
mov byte [edx], al
movzx eax, byte [edx + 1]
and al, 0xfb
or al, 3
lea ebx, [edx + 0xc]
mov word [edx + 2], cx
mov byte [edx + 1], al
test ebx, ebx
je 0x1006a78c
mov ax, word [0x1023bc50]
mov word [ebx], ax
and byte [ebx], 0x7f
push 3
mov ecx, ebx
call fcn.1001ef41
push 1
mov ecx, ebx
call fcn.100e1612
mov ecx, dword [esi + 0x80]
mov edx, dword [esp + 0x10]
cmp edx, dword [ecx + 4]
ja 0x1012f660
mov eax, dword [ecx]
add eax, edx
lea edx, [esp + 0x20]
push edx
add eax, 0x28
push eax
push dword [esp + 0x1c]
call fcn.100e1634
mov ecx, dword [esi + 0x90]
push 0
push 0
push 0
push 0
lea eax, [esp + 0x4c]
push eax
push 0x1006aa28
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
mov ecx, dword [esi + 0x80]
lea eax, [esp + 0x14]
push eax
call fcn.1015692e
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
mov edx, dword [esi + 0x80]
mov eax, dword [esp + 0x14]
cmp eax, dword [edx + 4]
ja 0x1012f667
mov edx, dword [edx]
add edx, eax
mov eax, dword [esp + 0x3c]
mov cx, word [edx + 2]
xor cx, ax
and cx, 1
xor cx, ax
movzx eax, byte [edx]
and al, 0xef
or al, 0x28
mov byte [edx], al
movzx eax, byte [edx + 1]
and al, 0xfb
or al, 3
lea ebx, [edx + 0xc]
mov word [edx + 2], cx
mov byte [edx + 1], al
test ebx, ebx
je 0x1006a85c
mov ax, word [0x1023bc50]
mov word [ebx], ax
and byte [ebx], 0x7f
push 0xc
mov ecx, ebx
call fcn.1001ef41
push 1
mov ecx, ebx
call fcn.100e1612
mov ecx, dword [esi + 0x80]
mov edx, dword [esp + 0x10]
cmp edx, dword [ecx + 4]
ja 0x1012f66e
mov eax, dword [ecx]
add eax, edx
lea edx, [esp + 0x20]
push edx
add eax, 0x28
push eax
push dword [esp + 0x1c]
call fcn.100e1634
mov eax, 0x496
mov word [esp + 0x48], ax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4a], eax
mov eax, 0x5a
mov word [esp + 0x4e], ax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x48]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x78]
push edi
lea ecx, [esi + 0x40]
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0xc
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], 0x8022
call fcn.100deb22
mov ebx, eax
test ebx, ebx
js 0x1012f6f3
push 0
push edi
mov ecx, esi
call fcn.100de600
push eax
push dword [esp + 0x14]
mov ecx, esi
push 1
push edi
call fcn.100de8ae
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x70]
inc edi
cmp dword [esp + 0x68], 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], eax
jne 0x1012f675
lea eax, [esp + 0x24]
push eax
push edi
lea ecx, [esi + 0x40]
call fcn.100deb22
mov ebx, eax
test ebx, ebx
js 0x1012f6cc
push 0
push edi
mov ecx, esi
call fcn.100de600
push eax
push 0xffffffffffffffff
push 0
push edi
mov ecx, esi
call fcn.100de8ae
inc edi
cmp dword [esp + 0x68], 0
jne 0x1012f692
mov dword [esp + 0x48], 0x6f0068
mov dword [esp + 0x2c], 4
lea eax, [esp + 0x48]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x70]
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], 0x8004
mov ecx, dword [eax + 0x24]
push 1
call fcn.1001ee1c
mov ebx, eax
test ebx, ebx
js 0x1012f6a9
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx + 0x5c]
push 1
call fcn.1001ea74
lea eax, [esp + 0x24]
push eax
push edi
lea ecx, [esi + 0x40]
call fcn.100deb22
mov ebx, eax
test ebx, ebx
js 0x1012f6a9
push 0
push edi
mov ecx, esi
call fcn.100de600
push eax
push 0xffffffffffffffff
push 0
push edi
mov ecx, esi
call fcn.100de8ae
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.10001e57
add esp, 0x48
ret 0x24
or word [ecx + 0x98], 2
mov word [ecx + 0xa0], di
mov eax, dword [esi + 0x70]
mov dword [ecx + 0x94], eax
mov eax, dword [eax + 0x24]
mov edx, dword [eax]
push eax
call dword [edx + 4]
push ebp
push ebx
mov ecx, esi
call fcn.100de78c
pop edi
pop esi
pop ebp
mov eax, 0x800a9c64
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.10001e57
add esp, 0x48
ret 0x24
push dword [esp + 0x38]
lea eax, [edi - 1]
push eax
push 0x9c7b
mov ecx, esi
call fcn.101d676d
push ebp
push ebx
mov ecx, esi
call fcn.100de78c
pop edi
pop esi
pop ebp
mov eax, 0x800a9c64
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.10001e57
add esp, 0x48
ret 0x24
xor edx, edx
jmp 0x1006a5ef
xor edx, edx
jmp 0x1006a677
xor eax, eax
jmp 0x1006a6dd
xor edx, edx
jmp 0x1006a74f
xor eax, eax
jmp 0x1006a7b5
xor edx, edx
jmp 0x1006a81f
xor eax, eax
jmp 0x1006a885
mov ax, word [esp + 0x3c]
mov dword [ecx + ebp], 0x1020068
mov word [ecx + ebp + 4], ax
lea eax, [ebp + 6]
mov dword [esp + 0x2c], eax
jmp 0x1006a933
mov eax, 0x6f
mov word [esp + 0x48], ax
mov dword [esp + 0x2c], 2
jmp 0x1006a97e
push 1
dec edi
push edi
lea ecx, [esi + 0x40]
call fcn.1006464d
push 0
push edi
mov ecx, esi
call fcn.100de600
push eax
push 0xffffffffffffffff
push 0
push edi
mov ecx, esi
call fcn.1015692e
push 0
dec edi
push edi
mov ecx, esi
call fcn.100de600
push eax
push dword [esp + 0x14]
mov ecx, esi
push 1
push edi
call fcn.1015692e
push 1
push edi
lea ecx, [esi + 0x40]
call fcn.1006464d
jmp 0x1012f702
push dword [esp + 0x10]
mov ecx, dword [esi + 0x80]
call fcn.1007c1f3
push ebp
push dword [esp + 0x20]
mov ecx, esi
call fcn.100de78c
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.10001e57
add esp, 0x48
ret 0x24