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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], eax
nop dword [eax]
cmp dword [0x1005d758], 0x125
jne 0x1001ca7e
call fcn.10008860
mov ecx, dword [0x1005d758]
cmp ecx, 0x28
jne 0x1001d475
call fcn.10008860
call fcn.10018130
mov ecx, dword [0x1005d758]
mov esi, eax
cmp ecx, 0x29
jne 0x1001ca15
test esi, esi
je 0x1001d41c
jmp 0x1001ca65
cmp ecx, 0x2c
jne 0x1001d45e
call fcn.10008860
mov edx, str.string_constant
lea ecx, [esp + 0x34]
call fcn.100129a0
push dword [esp + 0x38]
test esi, esi
je 0x1001d454
call fcn.1003a4ed
mov ecx, dword [0x1005d758]
add esp, 4
mov dword [esp + 0x3c], 0
xorps xmm0, xmm0
movq qword [esp + 0x34], xmm0
cmp ecx, 0x29
jne 0x1001d43d
call fcn.10008860
mov ecx, dword [0x1005d758]
cmp ecx, 0x3b
jne 0x1001d426
jmp 0x1001cc23
xor esi, esi
lea edx, [esp + 0x40]
lea ecx, [esp + 0x98]
mov dword [esp + 8], esi
call fcn.10013fa0
test eax, eax
mov eax, dword [0x1005d758]
jne 0x1001cbc9
cmp dword [esp + 0x14], esi
jne 0x1001cab5
cmp eax, 0x3b
jne 0x1001cacb
cmp edi, 0x33
jne 0x1001cc23
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.1002e6c8
mov esp, ebp
pop ebp
ret
cmp edi, 0x30
jne 0x1001cab5
cmp eax, 0x13a
je 0x1001cb0a
cmp eax, 0x13b
je 0x1001cb0a
cmp eax, 0x13c
je 0x1001cb0a
cmp eax, 0x13d
jl 0x1001d3eb
mov ecx, 3
mov esi, 1
mov dword [esp + 0x98], ecx
mov dword [esp + 8], esi
jmp 0x1001cbd0
mov edi, dword [0x10070670]
mov dword [0x10070670], esi
call fcn.10008860
mov ecx, dword [0x1005d758]
cmp ecx, 0x28
jne 0x1001d475
call fcn.10008860
mov edx, str.string_constant
lea ecx, [esp + 0x1c]
call fcn.100129a0
mov ecx, dword [0x1005d758]
cmp ecx, 0x29
jne 0x1001d43d
call fcn.10008860
cmp dword [0x1005d758], 0x3b
jne 0x1001d496
mov eax, dword [0x1006d7e4]
mov esi, dword [esp + 0x20]
mov edx, esi
push 1
mov ecx, dword [eax + 0x354]
mov dword [eax + 0x368], ecx
mov eax, dword [ecx]
mov dword [0x1006d80c], eax
mov eax, dword [esp + 0x20]
dec eax
push eax
call fcn.10026c30
mov eax, dword [0x1006d7e4]
mov ecx, dword [eax + 0x368]
mov eax, dword [0x1006d80c]
mov dword [ecx], eax
call fcn.10008860
push esi
call fcn.1003a4ed
xorps xmm0, xmm0
mov dword [0x10070670], edi
mov edi, dword [esp + 0x18]
add esp, 0xc
movq qword [esp + 0x1c], xmm0
mov dword [esp + 0x24], 0
jmp 0x1001c9d0
mov ecx, dword [esp + 0x98]
cmp eax, 0x3b
jne 0x1001cc2d
mov eax, ecx
and eax, 0xf
cmp al, 7
jne 0x1001cc15
mov eax, dword [esp + 0x9c]
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
test eax, 0x20000000
jne 0x1001cc23
and eax, 0xbfffffff
cmp eax, 0x10000000
jl 0x1001cc23
push str.unnamed_struct_union_that_defines_no_instances
call fcn.1002b110
add esp, 4
call fcn.10008860
jmp 0x1001c9d0
mov eax, ecx
and eax, 0xfff00080
cmp eax, 0x200000
jne 0x1001cc2d
call fcn.10008860
jmp 0x1001c9d0
mov eax, dword [esp + 0x9c]
lea edx, [esp + 0x70]
movaps xmm0, xmmword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x6c]
movaps xmmword [esp + 0x70], xmm0
movq xmm0, qword [esp + 0x50]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x64]
push 2
push eax
movq qword [esp + 0x88], xmm0
call fcn.10014fc0
mov ecx, dword [esp + 0x6c]
add esp, 8
mov eax, ecx
and eax, 0xf
cmp al, 6
jne 0x1001cccd
test ecx, 0x2000
je 0x1001cc95
cmp edi, 0x32
je 0x1001d4a0
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0xc]
and al, 0x18
cmp al, 0x10
jne 0x1001ccb9
cmp edi, 0x30
jne 0x1001ccb9
push edx
xor edx, edx
lea ecx, [edi + 3]
call fcn.1001c9a0
mov ecx, dword [esp + 0x68]
add esp, 4
test ecx, 0x1000
je 0x1001cce2
and ecx, 0xffff7fff
mov dword [esp + 0x64], ecx
jmp 0x1001cce2
test esi, esi
je 0x1001cce2
push str.type_defaults_to_int
call fcn.1002b110
mov ecx, dword [esp + 0x68]
add esp, 4
mov eax, dword [0x1006d7e4]
mov edx, dword [0x1005d758]
cmp byte [eax + 0x44], 0
je 0x1001cd9b
cmp edx, 0x13a
je 0x1001cd13
cmp edx, 0x13b
je 0x1001cd13
cmp edx, 0x13c
jne 0x1001cd9b
call fcn.10008860
mov ecx, dword [0x1005d758]
cmp ecx, 0x28
jne 0x1001d475
call fcn.10008860
mov edx, str.string_constant
lea ecx, [esp + 0x28]
call fcn.100129a0
mov ecx, dword [0x1005d758]
cmp ecx, 0x29
jne 0x1001d43d
call fcn.10008860
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ecx, esi
lea edx, [edx - 1]
call fcn.10001840
push esi
mov edi, dword [eax + 0x14]
call fcn.1003a4ed
add esp, 4
mov dword [esp + 0x30], 0
xorps xmm0, xmm0
mov dword [esp + 0x84], edi
lea ecx, [esp + 0x70]
movq qword [esp + 0x28], xmm0
call fcn.10012ab0
mov ecx, dword [esp + 0x64]
mov edx, dword [0x1005d758]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
test eax, 0xa00
je 0x1001ce23
test ecx, 0x2000
jne 0x1001d4aa
test ecx, 0x4000
je 0x1001cdfd
shr eax, 0xb
and eax, 1
mov ecx, eax
mov eax, 0xf7ff
jne 0x1001cdce
mov eax, 0xfdff
and word [esp + 0x70], ax
test cx, cx
mov ecx, 0x100561a8
mov eax, 0x100561b4
cmovne eax, ecx
push eax
push str._s_attribute_ignored_for_typedef
call fcn.1002b110
mov ecx, dword [esp + 0x6c]
add esp, 8
mov edx, dword [0x1005d758]
jmp 0x1001ce23
test eax, 0x800
je 0x1001ce23
mov eax, ecx
and eax, 0xf
cmp al, 6
jne 0x1001ce19
mov eax, 0xf7ff
and word [esp + 0x70], ax
jmp 0x1001ce23
or ecx, 0x1000
mov dword [esp + 0x64], ecx
cmp edx, 0x7b
je 0x1001d1b5
cmp edi, 0x33
jne 0x1001ceba
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x6c]
mov esi, dword [eax + 0x18]
test esi, esi
je 0x1001d4dc
mov eax, dword [esi]
and eax, 0xdfffffff
cmp eax, edi
je 0x1001ce58
mov esi, dword [esi + 0x18]
jmp 0x1001ce40
test ecx, 0xf000
jne 0x1001d4c8
cmp dword [esi + 0x10], 0
jne 0x1001d4b4
and ecx, 0xfffffcbf
mov eax, ecx
mov dword [esp + 0x64], ecx
and eax, 0xf
cmp al, 6
jne 0x1001ceab
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x6c]
mov ecx, 0x20000000
call fcn.1000b460
mov ecx, dword [esp + 0x6c]
add esp, 8
and ecx, 0xf000
mov dword [esp + 0x68], eax
or ecx, 5
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x68]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
jmp 0x1001d16f
test ecx, 0x4000
je 0x1001d005
mov edi, dword [esp + 0x6c]
mov eax, dword [0x1006d7e8]
add eax, 0xffffff00
lea ecx, [edi - 0x100]
cmp ecx, eax
jae 0x1001cf2e
mov eax, dword [0x1005d754]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x1001cf2e
mov eax, dword [esi + 0xc]
cmp eax, dword [0x1007065c]
jne 0x1001cf2e
push 0
lea edx, [esp + 0x68]
lea ecx, [esi + 0x10]
call fcn.10010060
add esp, 4
test eax, eax
je 0x1001d4f0
test dword [esi + 0x10], 0x4000
je 0x1001d4f0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x1001cf42
push 0
push 0
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.1000b460
add esp, 8
mov esi, eax
mov cx, word [esp + 0x70]
mov edi, dword [0x1006d7e4]
mov word [esi + 6], cx
mov ecx, dword [esp + 0x74]
mov dword [esi + 0xc], ecx
cmp byte [edi + 0x2f], 0
je 0x1001d16f
mov ecx, dword [esi]
xorps xmm0, xmm0
and ecx, 0xdfffffff
movq qword [esp + 0xa0], xmm0
mov dword [esp + 0xa8], 0
cmp ecx, 0x10000000
jl 0x1001cf90
mov eax, 0x10054836
jmp 0x1001cf97
xor edx, edx
call fcn.10001910
push eax
lea eax, [esp + 0xa4]
push str._s:t
push eax
call fcn.10001640
add esp, 0xc
lea eax, [esp + 0xa0]
mov edx, esi
mov ecx, edi
push eax
call fcn.1000a3f0
mov edx, dword [esp + 0xa8]
add esp, 4
mov ecx, edi
push 0
push 0
push 0
push 0x80
call fcn.1000a210
push dword [esp + 0xb4]
call fcn.1003a4ed
xorps xmm0, xmm0
mov dword [esp + 0xbc], 0
add esp, 0x14
movq qword [esp + 0xa0], xmm0
jmp 0x1001d16f
test ecx, 0x100f
je 0x1001d51a
mov eax, ecx
xor esi, esi
and eax, 0xf
cmp al, 6
jne 0x1001d033
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov edx, dword [0x1005d758]
jmp 0x1001d03e
test cl, 0x40
mov eax, 0x100
cmove esi, eax
xor eax, eax
cmp edx, 0x3d
sete al
mov dword [esp + 0x10], eax
jne 0x1001d058
test ecx, 0x400
jne 0x1001d506
test ecx, 0x1000
je 0x1001d069
test eax, eax
je 0x1001d0de
cmp edi, 0x30
jne 0x1001d0de
mov eax, ecx
and eax, 0xf
cmp al, 6
je 0x1001d0de
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
test cl, 0x40
je 0x1001d095
test edi, edi
jne 0x1001d095
cmp eax, 0x30
jne 0x1001d095
mov eax, dword [esp + 0x68]
cmp dword [eax + 8], edi
jl 0x1001d0de
mov eax, dword [esp + 0xc]
test ecx, 0x2000
je 0x1001d0a2
or esi, 0x30
jmp 0x1001d0a4
or esi, eax
test edi, edi
je 0x1001d0b3
call fcn.10008860
mov eax, dword [esp + 0xc]
jmp 0x1001d0c2
cmp eax, 0x30
jne 0x1001d0c2
or ecx, 0x1000
mov dword [esp + 0x64], ecx
push eax
push dword [esp + 0x70]
lea edx, [esp + 0x78]
push edi
push esi
lea ecx, [esp + 0x74]
call fcn.1001b8c0
add esp, 0x10
jmp 0x1001d16f
or ecx, 0x1000
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x68], ecx
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x70]
push esi
call fcn.1000bea0
mov edx, dword [esp + 0x88]
add esp, 8
mov esi, eax
test edx, edx
je 0x1001d16f
mov ecx, dword [0x1006d7e8]
add edx, 0xffffff00
add ecx, 0xffffff00
cmp edx, ecx
jae 0x1001d510
mov eax, dword [0x1005d754]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1001d510
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1001d510
mov eax, dword [0x1006d7e4]
shl ecx, 4
mov eax, dword [eax + 0x374]
add ecx, dword [eax + 4]
je 0x1001d510
movzx edx, word [ecx + 0xe]
push ecx
push dword [ecx + 8]
push dword [ecx + 4]
mov ecx, esi
call fcn.1000b0a0
add esp, 0xc
mov ecx, dword [0x1005d758]
cmp ecx, 0x2c
jne 0x1001d193
call fcn.10008860
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 8]
jmp 0x1001cc2d
cmp dword [esp + 0x14], 0
jne 0x1001d3f9
cmp ecx, 0x3b
jne 0x1001d426
call fcn.10008860
mov edi, dword [esp + 0xc]
jmp 0x1001c9d0
cmp edi, 0x30
jne 0x1001d412
mov eax, ecx
and eax, 0xf
cmp al, 6
jne 0x1001d542
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x1001d20e
nop word [eax + eax]
test dword [edx], 0xdfffffff
je 0x1001d524
cmp dword [edx + 0x10], 0
jne 0x1001d203
mov eax, dword [0x1006d794]
mov ecx, dword [0x1006d798]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x1001d1e0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
mov esi, eax
mov edx, dword [esp + 0x68]
mov dword [esp + 0x10], eax
and esi, 7
je 0x1001d248
mov eax, dword [edx + 0xc]
test al, 7
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
jne 0x1001d248
mov eax, dword [esp + 8]
and eax, 0xfffffff8
or eax, esi
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], eax
test byte [esp + 0x74], 0x18
je 0x1001d275
mov eax, dword [edx + 0xc]
test al, 0x18
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
jne 0x1001d275
mov ecx, dword [esp + 8]
and eax, 0x18
and ecx, 0xffffffe7
or ecx, eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
shr eax, 8
test al, al
je 0x1001d289
cmp byte [edx + 0xd], 0
jne 0x1001d289
mov byte [edx + 0xd], al
mov ecx, dword [esp + 0x64]
test byte [esp + 0x74], 0x20
je 0x1001d298
or dword [edx + 0xc], 0x20
mov ecx, dword [esp + 0x64]
test byte [esp + 0x74], 0x40
je 0x1001d2a7
or dword [edx + 0xc], 0x40
mov ecx, dword [esp + 0x64]
test byte [esp + 0x74], 0x80
je 0x1001d2b9
or dword [edx + 0xc], 0x80
mov ecx, dword [esp + 0x64]
and ecx, 0xffffefff
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x68], ecx
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x70]
push 0
call fcn.1000bea0
mov edx, eax
add esp, 8
mov dword [esp + 8], edx
test dword [edx + 0x10], 0x8000
je 0x1001d3bc
mov ecx, dword [0x1006d784]
add ecx, 0x28
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001d300
sub ecx, edx
lea edi, [ecx + 0xc]
push edi
call fcn.1003c7db
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
jne 0x1001d327
test edi, edi
jne 0x1001d52e
mov ecx, dword [0x1006d784]
mov edx, esi
add ecx, 0x28
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 7], al
test al, al
jne 0x1001d334
mov eax, dword [esp + 8]
mov ecx, esi
mov dword [esi + 4], eax
call fcn.1001a2e0
mov eax, dword [0x1006d7e4]
mov dword [esp + 8], eax
mov esi, dword [eax + 0x338]
mov ecx, dword [eax + 0x334]
lea eax, [esi - 1]
test esi, eax
jne 0x1001d39f
mov edi, 4
test esi, esi
je 0x1001d37b
lea edi, [esi*8]
push edi
push ecx
call fcn.10035e5a
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x1001d393
test edi, edi
jne 0x1001d538
mov edx, dword [esp + 8]
mov dword [edx + 0x334], ecx
jmp 0x1001d3a3
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
mov dword [ecx + esi*4], eax
lea eax, [esi + 1]
mov dword [edx + 0x338], eax
jmp 0x1001c9d0
mov ecx, dword [0x1006d7e4]
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x368], eax
cmp dword [esp + 0x78], 0
jne 0x1001d3df
mov eax, dword [ecx + 0x354]
mov dword [ecx + 0x368], eax
mov ecx, edx
call fcn.1001c330
jmp 0x1001c9d0
cmp eax, 0xffffffff
jne 0x1001d48c
jmp 0x1001cab5
mov ecx, dword [esp + 0xac]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.1002e6c8
mov esp, ebp
pop ebp
ret
push str.cannot_use_local_functions
call fcn.1002b0f0
push str._Static_assert_fail
call fcn.1002b0f0
mov edx, 0x1006d7a8
call fcn.10001910
push eax
push 0x3b
push str._c_expected__got___s__
call fcn.1002b0f0
mov edx, 0x1006d7a8
call fcn.10001910
push eax
push 0x29
push str._c_expected__got___s__
call fcn.1002b0f0
push 0x10054d78
call fcn.1002b0f0
mov edx, 0x1006d7a8
call fcn.10001910
push eax
push 0x2c
push str._c_expected__got___s__
call fcn.1002b0f0
mov edx, 0x1006d7a8
call fcn.10001910
push eax
push 0x28
push str._c_expected__got___s__
call fcn.1002b0f0
mov ecx, str.declaration
call fcn.100011f0
mov ecx, 0x10056d1c
call fcn.100011f0
push str.function_without_file_scope_cannot_be_static
call fcn.1002b0f0
push str.cannot_have_dll_linkage_with_static
call fcn.1002b0f0
xor edx, edx
mov ecx, edi
call fcn.10001910
push eax
push str.redefinition_of_parameter__s
call fcn.1002b0f0
xor edx, edx
mov ecx, edi
call fcn.10001910
push eax
push str.storage_class_specified_for__s
call fcn.1002b0f0
xor edx, edx
mov ecx, edi
call fcn.10001910
push eax
push str.declaration_for_parameter__s_but_no_such_parameter
call fcn.1002b0f0
mov ecx, dword [esp + 0x6c]
xor edx, edx
call fcn.10001910
push eax
push str.incompatible_redefinition_of__s
call fcn.1002b0f0
push str.variable_length_array_cannot_be_initialized
call fcn.1002b0f0
push str.unsupported_forward___alias___attribute
call fcn.1002b0f0
push str.declaration_of_void_object
call fcn.1002b0f0
mov ecx, str.identifier
call fcn.100011f0
push str.memory_full__malloc_
call fcn.1002b0f0
push str.memory_full__realloc_
call fcn.1002b0f0
mov ecx, str.function_definition
call fcn.100011f0
int3