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

Disassembly:
sub esp, 0x2a4
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x2a0], eax
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2b0]
push ebx
mov ebx, dword [esp + 0x2bc]
push ebp
xor ebp, ebp
mov dword [esp + 0x28], ecx
push esi
mov esi, dword [esp + 0x2c0]
mov dword [ecx], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], ebp
mov dword [edx], ebp
push edi
mov edi, ebp
test esi, esi
je 0x101050f0
cmp word [esi], bp
je 0x101050f0
push ebp
push ebp
mov ebp, dword [esp + 0x2c0]
lea ecx, [esp + 0x3c]
push ecx
push 0x38
lea ecx, [esp + 0x88]
push ecx
push 0xffffffffffffffff
push eax
push dword [esp + 0x2d8]
push ebp
call fcn.100c58d7
test eax, eax
js 0x101050f2
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10104b2a
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
and dword [ecx], edi
and dword [eax], edi
xor esi, esi
jmp 0x101050c2
imul edi, eax, 0x14
push edi
call fcn.10117340
mov dword [esp + 0x14], eax
pop ecx
test eax, eax
jne 0x10104b48
mov esi, 0xfffffc0d
mov edi, eax
jmp 0x101050c2
push edi
mov edi, eax
push 0
push edi
call fcn.101172b0
add esp, 0xc
mov dword [esp + 0x54], esi
lea eax, [esi + ebx*2]
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], eax
mov ebx, edi
xor eax, eax
mov dword [esp + 0x48], ebp
push 0x40
pop ecx
cmp word [esi], cx
mov esi, dword [esp + 0x80]
sete al
mov dword [esp + 0x6c], 0x5c
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], esi
test eax, eax
je 0x10104bf2
lea eax, [esp + 0x48]
push eax
call fcn.10105b02
mov eax, dword [esp + 0x5c]
push 0x40
pop ecx
cmp word [eax], cx
jne 0x101050b9
mov edx, dword [esp + 0x64]
lea esi, [esp + 0x78]
add eax, 2
dec edx
mov dword [ebx], eax
lea eax, [ebx + 0x10]
push eax
sub esp, 0x38
mov dword [ebx + 8], edx
push 0xe
pop ecx
mov edi, esp
push edx
push dword [ebx]
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.10105317
test eax, eax
je 0x101050b9
lea eax, [esp + 0x48]
push eax
call fcn.10105b02
cmp eax, 0x3d
jne 0x101050b9
mov esi, dword [esp + 0x1c]
push 0x1000f0a4
lea eax, [esp + 0x4c]
push eax
call fcn.1010598e
cmp eax, 0x102
jne 0x101050b9
mov eax, dword [esp + 0x5c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0xc], eax
lea eax, [esp + 0x48]
add ebx, 0x14
push eax
mov dword [esp + 0x3c], ebx
call fcn.10105b02
cmp eax, 0x2c
jne 0x10104c40
dec esi
mov dword [esp + 0x1c], esi
je 0x10104c40
mov eax, dword [esp + 0x44]
jmp 0x10104b8d
lea eax, [esp + 0x2c]
push eax
push 0xfa0
call fcn.100c9d00
mov esi, eax
test esi, esi
js 0x101050be
imul eax, dword [esp + 0x80], 0x108
push eax
mov dword [esp + 0x40], eax
call fcn.10117340
pop ecx
mov ecx, dword [esp + 0x30]
mov edi, eax
mov dword [ecx], edi
test edi, edi
jne 0x10104c85
mov esi, 0xfffffc0d
jmp 0x101050be
xor ebx, ebx
push ebx
push Ordinal_2
push dword [esp + 0x84]
mov dword [esp + 0x30], ebx
push ebp
call fcn.1003c730
mov esi, eax
test esi, esi
js 0x101050be
jmp 0x10105068
dec eax
push ebp
mov dword [esp + 0x84], eax
call fcn.10037ce0
push 0
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x3c]
push eax
push 0x200
lea eax, [esp + 0xc0]
push eax
push dword [esp + 0x9c]
push dword [esp + 0x94]
push ebp
call fcn.1003cac0
mov esi, eax
test esi, esi
js 0x101050be
mov eax, dword [esp + 0x34]
and eax, 0xfffffffe
cmp eax, 0x200
jae 0x1010510d
xor ecx, ecx
push ecx
push ecx
mov word [esp + eax + 0xb8], cx
lea eax, [esp + 0x3c]
push eax
push 4
lea eax, [esp + 0x24]
push eax
push dword [esp + 0xa4]
push dword [esp + 0x94]
push ebp
call fcn.1003cac0
mov esi, eax
test esi, esi
js 0x101050be
push 0
push 0
lea eax, [esp + 0x3c]
push eax
push 4
lea eax, [esp + 0x84]
push eax
push dword [esp + 0xb0]
push dword [esp + 0x94]
push ebp
call fcn.1003cac0
mov esi, eax
test esi, esi
js 0x101050be
push 0
push 1
push dword [esp + 0x84]
push ebp
call fcn.1003c730
mov esi, eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0xb8]
push dword [esp + 0x4c]
push ebx
push eax
call fcn.10105455
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0xc], 4
jne 0x10104dc1
push 4
push 0x1000c99c
push dword [ebx + 4]
call fcn.101155f0
add esp, 0xc
test eax, eax
jne 0x10104dc1
and dword [edi], eax
jmp 0x1010505c
cmp dword [ebx + 0xc], 0
je 0x1010504c
push 7
pop eax
cmp dword [ebx + 0xc], eax
jne 0x10104dec
push eax
push 0x10011d70
push dword [ebx + 4]
call fcn.101155f0
add esp, 0xc
test eax, eax
je 0x1010504c
mov ecx, dword [ebx + 0xc]
mov eax, dword [esp + 0x14]
add ecx, ecx
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x10104e10
mov eax, 0x1fe
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 0xa
mov dword [esp + 0x14], eax
push eax
call fcn.100cb4e5
cmp al, 8
mov byte [esp + 0x1b], al
push 7
setne cl
pop edx
dec cl
and cl, 8
cmp al, 7
movzx ecx, cl
lea eax, [esp + 0x70]
cmove ecx, edx
movzx ecx, cl
push ecx
push 0
push 0
push eax
push dword [esp + 0x3c]
push dword [ebx + 0xc]
push dword [ebx + 4]
xor ebx, ebx
push ebx
push ebp
call fcn.100d1260
mov esi, eax
test esi, esi
js 0x101050be
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x74]
push dword [esp + 0x34]
push dword [esp + 0x28]
call fcn.10115e10
mov esi, eax
test esi, esi
je 0x10104ea6
jg 0x10104e7f
cmp esi, 0xffff8008
jge 0x10104ea4
cmp esi, 0xd
jne 0x10104e8e
push ebx
push ebx
push ebx
push 0xffffdfd1
jmp 0x10104e96
push esi
push ebx
push ebx
push 0xffffe06c
push ebx
push ebx
push ebx
push ebp
call fcn.10037730
mov esi, 0xfffff42a
test esi, esi
js 0x101050be
mov edx, dword [esp + 0x48]
mov ecx, edx
mov bl, byte [esp + 0x1b]
and ecx, 0x7fff
movzx eax, bl
cmp ecx, eax
je 0x10104f1d
movzx eax, bl
push eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x24]
call fcn.101169b0
mov esi, eax
test esi, esi
je 0x10104f13
jg 0x10104ee5
cmp esi, 0xffff8008
jge 0x10104f11
cmp esi, 0xd
jne 0x10104ef9
xor ebx, ebx
push ebx
push ebx
push ebx
push 0xffffdfd1
push ebx
push ebx
push ebx
jmp 0x10104f06
push esi
xor eax, eax
push eax
push eax
push 0xffffe06c
push eax
push eax
push eax
push ebp
call fcn.10037730
mov esi, 0xfffff42a
test esi, esi
js 0x101050be
mov edx, dword [esp + 0x48]
and edx, 0x7fff
cmp edx, 8
je 0x10104f35
cmp edx, 0xc
je 0x10104f35
xor ecx, ecx
mov dword [esp + 0x28], ecx
jmp 0x10104faf
push dword [esp + 0x54]
call sub.OLEAUT32.dll_SysAllocStringByteLen
mov ebx, eax
mov eax, 0x1fe
cmp ebx, eax
jbe 0x10104f90
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
and ecx, 0x7fff
sub ecx, 8
neg ecx
sbb ecx, ecx
add eax, ebx
push eax
mov dword [esp + 0x40], eax
add ecx, 0xc
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
push dword [eax]
call fcn.10118194
pop ecx
pop ecx
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
test eax, eax
je 0x10104c7b
lea ecx, [eax + ebx]
mov dword [esp + 0x28], ecx
jmp 0x10104fab
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x28]
and eax, 0x7fff
sub eax, 8
neg eax
sbb eax, eax
add eax, 0xa
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x14]
push 4
mov dword [edi], eax
mov eax, dword [esp + 0x18]
pop edx
add edi, edx
cmp eax, 9
je 0x10104ff6
cmp eax, 0xa
je 0x10104ff6
cmp eax, 0xb
je 0x10104fe2
cmp eax, 0x11
je 0x10104fe2
cmp eax, 0xc
je 0x10104fe2
and dword [esp + 0x20], 0
lea ebx, [esp + 0x20]
jmp 0x1010500d
mov eax, dword [esp + 0x20]
mov ebx, edi
mov dword [edi], eax
add edi, edx
mov dword [edi], ecx
add edi, edx
mov eax, dword [esp + 0x14]
jmp 0x10105013
mov eax, dword [esp + 0x20]
mov ebx, edi
mov dword [edi], eax
mov eax, 0x1fe
mov dword [esp + 0x20], eax
add edi, edx
mov eax, dword [esp + 0x14]
mov ecx, edi
mov dword [esp + 0x28], ecx
push ebx
push ecx
push eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x2c]
call fcn.1009723c
cmp dword [esp + 0x14], 0xb
je 0x1010505f
cmp dword [esp + 0x14], 0x11
je 0x1010505f
cmp dword [esp + 0x14], 0xc
je 0x1010505f
mov eax, dword [ebx]
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
lea edi, [edi + eax*4]
jmp 0x1010505f
test dword [esp + 0x74], 0x100000
je 0x10105098
mov dword [edi], 0xfd
add edi, 4
mov ebx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x10104cad
dec eax
mov dword [esp + 0x80], eax
xor eax, eax
cmp esi, 0xfffff9bd
cmove esi, eax
mov eax, dword [esp + 0x30]
sub edi, dword [eax]
mov eax, dword [esp + 0x40]
mov dword [eax], edi
jmp 0x101050be
xor eax, eax
push eax
push eax
push eax
push 0xffffdfab
push eax
push eax
lea eax, [esp + 0xc8]
push eax
push ebp
call fcn.10037730
mov esi, 0xfffff3f4
jmp 0x101050be
mov esi, 0xfffff23e
mov edi, dword [esp + 0x10]
push dword [esp + 0x7c]
push ebp
call fcn.1003bd20
or dword [esp + 0x7c], 0xffffffff
cmp dword [esp + 0x2c], 0
je 0x101050e1
push dword [esp + 0x2c]
call fcn.100c9f59
test edi, edi
je 0x101050ec
push edi
call fcn.1011726a
pop ecx
mov eax, esi
jmp 0x101050f2
xor eax, eax
mov ecx, dword [esp + 0x2b0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
add esp, 0x2a4
ret 0x1c
call fcn.10116cf2
int3