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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x17c
mov eax, dword [0x102924c0]
xor eax, esp
mov dword [esp + 0x178], eax
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [esp + 0xc], eax
push 0x110
push 0
mov dword [esp + 0x20], edx
mov eax, dword [edi + 0x44]
sub eax, dword [edi + 0x40]
sar eax, 3
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x74]
push eax
movq qword [esp + 0x40], xmm0
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x70], 0
call fcn.101ad640
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov eax, edx
mov dword [esp + 0x44], edx
and eax, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], eax
mov ecx, edx
mov eax, edx
mov dword [esp + 0x3c], 0xffffffff
mov esi, edx
mov dword [esp + 0x68], 0x9b
and eax, 4
and ecx, 2
and esi, 8
mov dword [esp + 0x4c], ecx
and edx, 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], edx
test eax, eax
je 0x10049384
movaps xmm0, xmmword [0x10278220]
or ecx, 0xf0
shr ecx, 1
mov dword [esp + 0x78], ecx
jmp 0x10049397
test esi, esi
je 0x1004939c
movaps xmm0, xmmword [0x10278230]
mov dword [esp + 0x78], 0x78
movups xmmword [esp + 0x68], xmm0
test edx, edx
jne 0x100493a8
mov dword [esp + 0x64], 0x302
push 1
mov edx, 0x80
mov ecx, edi
call fcn.10035a50
mov edx, dword [edi + 0x44]
add esp, 4
mov ecx, edi
mov eax, dword [edx - 8]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
sub eax, 0xffffff80
mov dword [esp + 0x2c], eax
cmp edx, dword [edi + 0x38]
jae 0x100498e1
push 0x28
mov edx, 0x8004080
call fcn.10053e10
mov ecx, dword [edi + 0x44]
xor edx, edx
or edx, 0xfff90000
add esp, 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [eax + 4]
add dword [edi + 0x44], 8
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x40]
sub ecx, edx
sar ecx, 3
test ebx, ebx
lea eax, [ecx - 1]
mov dword [esp + 0x40], eax
lea eax, [ebx + ecx]
cmovns eax, ebx
cmp eax, ecx
jae 0x1004942b
lea eax, [edx + eax*8]
test eax, eax
jne 0x10049430
mov eax, 0x10213028
mov esi, 0xfff9
cmp word [eax + 6], si
jne 0x10049453
mov eax, dword [eax]
test eax, eax
je 0x10049453
mov ecx, dword [eax]
test ecx, 0x200
je 0x100494ee
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x44]
mov edx, dword [edi + 0x40]
sub eax, edx
mov ebx, dword [esp + 0xc]
sar eax, 3
test ebx, ebx
lea ecx, [ebx + eax]
cmovns ecx, ebx
cmp ecx, eax
jae 0x10049475
lea ecx, [edx + ecx*8]
test ecx, ecx
jne 0x1004947a
mov ecx, 0x10213028
cmp word [ecx + 6], si
jne 0x1004969d
mov ecx, dword [ecx]
test ecx, ecx
je 0x1004969d
mov ecx, dword [ecx]
shr ecx, 0x1b
cmp ecx, 0xa
jne 0x1004968f
test ebx, ebx
lea esi, [eax + ebx]
mov ecx, edi
cmovns esi, ebx
cmp esi, eax
jae 0x1004991d
shl esi, 3
add edx, esi
call fcn.1006aef0
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + esi + 4]
mov edx, dword [eax + esi]
movsd qword [eax + esi], xmm0
mov eax, 0xfff8
shr ecx, 0x10
cmp cx, ax
jb 0x1004969d
add dword [edx + 4], 0xffffffff
jne 0x1004969d
mov ecx, edi
call fcn.100535c0
jmp 0x1004969d
test ecx, 0x2000000
je 0x1004950d
nop word [eax + eax]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
test ecx, 0x2000000
jne 0x10049500
and ecx, 0xf8000000
cmp ecx, 0x10000000
jne 0x10049453
push 0x30
mov edx, 0x1040c080
mov dword [esp + 0x14], 0
mov ecx, edi
call fcn.10053e10
mov ecx, dword [edi + 0x44]
xor edx, edx
or edx, 0xfff90000
add esp, 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, ebx
inc dword [eax + 4]
mov ecx, dword [edi + 0x44]
push 0x60
lea eax, [ecx + 8]
sub ecx, dword [edi + 0x40]
sar ecx, 3
mov dword [esp + 0x40], ecx
mov ecx, edi
mov dword [edi + 0x44], eax
call fcn.100331a0
add esp, 4
nop dword [eax]
mov esi, dword [edi + 0x44]
mov eax, esi
mov ebx, dword [edi + 0x40]
sub eax, ebx
sar eax, 3
lea ecx, [eax - 1]
cmp ecx, eax
jae 0x1004958b
lea ecx, [ebx + ecx*8]
test ecx, ecx
jne 0x10049590
mov ecx, 0x10213028
mov edx, 0xfff9
cmp word [ecx + 6], dx
jne 0x10049905
cmp dword [ecx], 0
je 0x10049905
cmp esi, dword [edi + 0x38]
jae 0x100498f9
lea edx, [eax - 1]
cmp edx, eax
jae 0x100498eb
lea eax, [esi + 8]
mov dword [edi + 0x44], eax
mov eax, dword [ebx + edx*8 + 4]
mov ecx, dword [ebx + edx*8]
mov ebx, 0xfff8
mov dword [esi + 4], eax
shr eax, 0x10
mov dword [esi], ecx
cmp ax, bx
jb 0x100495de
inc dword [ecx + 4]
mov edx, 1
mov ecx, edi
call fcn.100547f0
test eax, eax
je 0x1004967e
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x10049609
lea eax, [ecx + edx*8]
jmp 0x1004960b
xor eax, eax
movzx ecx, word [eax + 6]
cmp cx, bx
jne 0x1004961e
mov eax, dword [eax]
test dword [eax], 0x200
jmp 0x10049641
mov edx, 0xfff0
cmp cx, dx
jbe 0x1004964f
mov edx, 0xfff9
cmp cx, dx
jne 0x10049643
mov eax, dword [eax]
mov eax, dword [eax]
shr eax, 0x1b
cmp eax, 0xc
je 0x1004964f
cmp eax, 0xa
je 0x1004964f
mov ecx, edi
call fcn.10035e00
jmp 0x10049570
or edx, 0xffffffff
mov ecx, edi
call fcn.10034840
mov ebx, dword [esp + 0x10]
mov edx, 0xfffffffc
push ebx
mov ecx, edi
call fcn.100328f0
add esp, 4
inc ebx
mov ecx, edi
mov dword [esp + 0x10], ebx
call fcn.10035d60
jmp 0x10049570
mov ecx, edi
call fcn.10035d60
mov esi, 0xfff9
jmp 0x10049453
cmp ecx, 0xc
jne 0x1004969d
mov edx, ebx
mov ecx, edi
call fcn.10034840
mov eax, dword [edi + 0x44]
mov edx, dword [edi + 0x40]
sub eax, edx
sar eax, 3
test ebx, ebx
lea esi, [ebx + eax]
mov ecx, esi
cmovns ecx, ebx
cmp ecx, eax
jae 0x100496bd
lea ecx, [edx + ecx*8]
test ecx, ecx
jne 0x100496c2
mov ecx, 0x10213028
mov ebx, 0xfff0
cmp word [ecx + 6], bx
mov ebx, dword [esp + 0xc]
ja 0x1004973b
lea eax, [esp + 0xc]
mov edx, ebx
push eax
push 0xa
push 0
mov ecx, edi
call fcn.10034730
mov ecx, dword [edi + 0x44]
add esp, 0xc
cmp ecx, dword [edi + 0x38]
jae 0x10049928
cmp eax, 0x7fffffff
ja 0x10049962
mov ecx, dword [edi + 0x2c]
mov edx, 0x10270894
push eax
call fcn.10053c80
add esp, 4
test eax, eax
je 0x10049978
mov edx, dword [edi + 0x44]
lea ecx, [edx + 8]
mov dword [edi + 0x44], ecx
xor ecx, ecx
or ecx, 0xfff80000
mov dword [edx], eax
mov dword [edx + 4], ecx
inc dword [eax + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax - 8]
mov dword [esp + 0x38], eax
jmp 0x10049792
test ebx, ebx
mov ecx, ebx
cmovs ecx, esi
cmp ecx, eax
jae 0x1004974d
lea eax, [edx + ecx*8]
test eax, eax
jne 0x10049752
mov eax, 0x10213028
mov ecx, 0xfff8
cmp word [eax + 6], cx
jne 0x1004978e
mov eax, dword [eax]
test eax, eax
je 0x1004978e
test dword [eax], 0x200
jne 0x1004978e
mov edx, ebx
mov ecx, edi
call fcn.10033710
push 0xa
push 0
mov ecx, edi
call fcn.10036ea0
mov eax, dword [edi + 0x44]
add esp, 8
mov eax, dword [eax - 8]
mov dword [esp + 0x38], eax
jmp 0x10049792
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100497a4
cmp dword [eax + 0x14], 0
jne 0x100497a4
mov dword [esp + 0x38], 0
mov eax, dword [edi + 0x44]
mov ecx, edi
cmp eax, dword [edi + 0x38]
jae 0x10049934
push 0x28
mov edx, 0x8004080
call fcn.10053e10
mov ecx, dword [edi + 0x44]
xor edx, edx
or edx, 0xfff90000
add esp, 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [eax + 4]
add dword [edi + 0x44], 8
mov ecx, dword [edi + 0x68]
mov dword [eax + 0x14], ecx
test ecx, ecx
je 0x100497e5
inc dword [ecx + 4]
mov esi, dword [edi + 0x44]
mov ecx, edi
sub esi, dword [edi + 0x40]
mov edx, dword [esp + 0x18]
sar esi, 3
call fcn.10033710
push 0xf
mov edx, 0xfffffffe
mov ecx, edi
call fcn.100329f0
mov eax, dword [edi + 0x128]
xor edx, edx
mov ecx, dword [edi + 0x44]
add esp, 4
or edx, 0xfff80000
mov ebx, dword [eax + 0x3c]
cmp ecx, dword [edi + 0x38]
jae 0x1004993e
lea eax, [ecx + 8]
mov dword [edi + 0x44], eax
mov dword [ecx + 4], edx
lea edx, [esi - 1]
mov dword [ecx], ebx
lea ecx, [esp + 0x20]
inc dword [ebx + 4]
mov dword [esp + 0x60], 0x3e8
call fcn.10048840
mov esi, dword [edi + 0x44]
mov ebx, dword [edi + 0x38]
test eax, eax
jne 0x10049863
cmp esi, ebx
jae 0x1004994a
lea eax, [esi + 8]
mov dword [edi + 0x44], eax
jmp 0x100498b5
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
sub ecx, edx
cmp esi, ebx
jae 0x10049956
xor eax, eax
test edx, edx
cmovne eax, ecx
cmp eax, 0x7fffffff
ja 0x10049962
mov ecx, dword [edi + 0x2c]
push eax
call fcn.10053c80
mov edx, eax
add esp, 4
test edx, edx
je 0x10049978
mov ecx, dword [edi + 0x44]
lea eax, [ecx + 8]
mov dword [edi + 0x44], eax
xor eax, eax
or eax, 0xfff80000
mov dword [ecx], edx
mov dword [ecx + 4], eax
inc dword [edx + 4]
mov esi, dword [esp + 0x14]
mov ecx, edi
mov edx, esi
call fcn.100337f0
lea edx, [esi + 1]
mov ecx, edi
call fcn.10033430
mov ecx, dword [esp + 0x184]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101aaebb
mov esp, ebp
pop ebp
ret
push 0x12dc
call fcn.10030820
push 0xffffffffffffffff
push 0x178
mov ecx, edi
call fcn.10030800
push 0x448
mov ecx, edi
call fcn.10030820
push str.object
push 0xffffffffffffffff
push 0x87d
mov edx, str.C:Users_naizeDesktopBLECKduk_api_stack.c
mov ecx, edi
call fcn.10030740
push ebx
push 0x12c
call fcn.10030800
push 0x115d
mov ecx, edi
call fcn.10030820
push 0x12dc
call fcn.10030820
push 0x10ca
mov ecx, edi
call fcn.10030820
push 0x10d3
mov ecx, edi
call fcn.10030820
push 0x115d
mov ecx, edi
call fcn.10030820
push str.string_too_long
push 0x116a
mov edx, str.C:Users_naizeDesktopBLECKduk_api_stack.c
mov ecx, edi
call fcn.100307e0
push 0x325
mov edx, str.C:Users_naizeDesktopBLECKduk_heap_stringtable.c
mov ecx, edi
call fcn.100307a0
int3