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

Disassembly:
push ebp
push esi
mov esi, dword [esp + 0xc]
mov eax, 0xef53
push edi
mov edi, ecx
cmp word [esi + 0x38], ax
je 0x100193bc
xor al, al
jmp 0x100195f9
mov eax, dword [esi + 0x18]
mov dword [edi], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 4], eax
test eax, eax
je 0x100193cf
cmp dword [edi], eax
jne 0x100193b5
mov eax, dword [edi]
cmp eax, 6
ja 0x100193b5
lea ecx, [eax + 0xa]
mov dword [edi], ecx
mov eax, dword [esi]
mov dword [edi + 8], eax
mov eax, dword [esi + 4]
push ebx
xor ebx, ebx
mov dword [edi + 0x10], eax
cmp dword [edi + 8], 2
mov dword [edi + 0x14], ebx
mov eax, dword [esi + 0xc]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ebx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x20], eax
jb 0x100195f6
cmp dword [edi + 8], eax
jbe 0x100195f6
xor eax, eax
cmp ecx, 0xa
sete al
cmp dword [esi + 0x14], eax
jne 0x100195f6
mov eax, dword [esi + 0x20]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x24]
mov dword [edi + 0x28], eax
cmp dword [edi + 0x24], eax
jne 0x100195f6
cmp dword [edi + 0x24], ebx
je 0x100195f6
mov eax, dword [esi + 0x28]
mov dword [edi + 0x2c], eax
cmp eax, 1
jb 0x100195f6
cmp eax, dword [edi + 8]
ja 0x100195f6
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x40]
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x48]
push 0xb
pop edx
mov dword [edi + 0x3c], eax
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x40], eax
lea eax, [edx + 0x75]
mov dword [edi + 0x44], edx
mov word [edi + 0x48], ax
cmp dword [edi + 0x40], ebx
je 0x100194c7
mov eax, dword [esi + 0x54]
mov dword [edi + 0x44], eax
movzx eax, word [esi + 0x58]
mov word [edi + 0x48], ax
cmp dword [edi + 0x44], edx
jb 0x100195f6
mov edx, eax
xor eax, eax
inc eax
shl eax, cl
cmp edx, eax
ja 0x100195f6
mov ecx, ebx
xor eax, eax
inc eax
shl eax, cl
cmp eax, edx
je 0x100194bf
inc ecx
cmp ecx, 0x20
jb 0x100194ad
or ecx, 0xffffffff
test ecx, ecx
js 0x100195f6
mov ax, word [esi + 0x5a]
mov word [edi + 0x4a], ax
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x60]
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x64]
mov dword [edi + 0x54], eax
lea eax, [esi + 0x68]
push 0x10
push eax
lea eax, [edi + 0x58]
push eax
call fcn.100bc0d0
push 0x10
lea eax, [esi + 0x78]
push eax
lea eax, [edi + 0x68]
push eax
call fcn.100bc0d0
push 0x40
lea eax, [esi + 0x88]
push eax
lea eax, [edi + 0x78]
push eax
call fcn.100bc0d0
mov eax, dword [esi + 0xe0]
add esp, 0x24
mov dword [edi + 0xb8], eax
mov ax, word [esi + 0xfe]
mov word [edi + 0xbc], ax
mov eax, dword [esi + 0x108]
mov dword [edi + 0xc0], eax
mov eax, dword [edi + 0x50]
shr eax, 7
test al, 1
je 0x1001955c
mov eax, dword [esi + 0x96]
or dword [edi + 0x10], ebx
or dword [edi + 0x14], eax
mov eax, dword [esi + 0x158]
or dword [edi + 0x18], ebx
or dword [edi + 0x1c], eax
mov ebp, dword [edi + 0x14]
xor edx, edx
mov ebx, dword [edi + 0x10]
xor ecx, ecx
push 0x3f
pop eax
sub eax, dword [edi]
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
cmp ebp, ecx
jb 0x10019586
ja 0x100195f6
cmp ebx, edx
jae 0x100195f6
mov ax, word [esi + 0x15c]
mov word [edi + 0xc4], ax
mov eax, dword [esi + 0x178]
mov dword [edi + 0xc8], eax
mov eax, dword [esi + 0x17c]
mov dword [edi + 0xcc], eax
test ebp, ebp
ja 0x100195b7
jb 0x100195f6
cmp ebx, 1
jb 0x100195f6
cmp dword [edi + 0x1c], ebp
jb 0x100195c3
ja 0x100195f6
cmp dword [edi + 0x18], ebx
ja 0x100195f6
mov ecx, edi
call fcn.10017f30
mov ebx, edx
xor ecx, ecx
mov edx, dword [edi + 8]
mov esi, eax
add edx, dword [edi + 0x2c]
push 0
push dword [edi + 0x2c]
adc ecx, ecx
add edx, 0xffffffff
adc ecx, 0xffffffff
push ecx
push edx
call fcn.100bd7a0
cmp esi, eax
jne 0x100195f6
cmp ebx, edx
jne 0x100195f6
mov al, 1
jmp 0x100195f8
xor al, al
pop ebx
pop edi
pop esi
pop ebp
ret 4