Function at 0x1001b130
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 [0x1005e760], 0x125
jne 0x1001b20e
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x28
jne 0x1001bc05
call fcn.10008900
call fcn.10016a40
mov ecx, dword [0x1005e760]
mov esi, eax
cmp ecx, 0x29
jne 0x1001b1a5
test esi, esi
je 0x1001bbac
jmp 0x1001b1f5
cmp ecx, 0x2c
jne 0x1001bbee
call fcn.10008900
mov edx, str.string_constant
lea ecx, [esp + 0x34]
call fcn.10011250
push dword [esp + 0x38]
test esi, esi
je 0x1001bbe4
call fcn.1003ba4d
mov ecx, dword [0x1005e760]
add esp, 4
mov dword [esp + 0x3c], 0
xorps xmm0, xmm0
movq qword [esp + 0x34], xmm0
cmp ecx, 0x29
jne 0x1001bbcd
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x3b
jne 0x1001bbb6
jmp 0x1001b3b3
xor esi, esi
lea edx, [esp + 0x40]
lea ecx, [esp + 0x98]
mov dword [esp + 8], esi
call fcn.100127e0
test eax, eax
mov eax, dword [0x1005e760]
jne 0x1001b359
cmp dword [esp + 0x14], esi
jne 0x1001b245
cmp eax, 0x3b
jne 0x1001b25b
cmp edi, 0x33
jne 0x1001b3b3
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
cmp edi, 0x30
jne 0x1001b245
cmp eax, 0x13a
je 0x1001b29a
cmp eax, 0x13b
je 0x1001b29a
cmp eax, 0x13c
je 0x1001b29a
cmp eax, 0x13d
jl 0x1001bb7b
mov ecx, 3
mov esi, 1
mov dword [esp + 0x98], ecx
mov dword [esp + 8], esi
jmp 0x1001b360
mov edi, dword [0x10071698]
mov dword [0x10071698], esi
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x28
jne 0x1001bc05
call fcn.10008900
mov edx, str.string_constant
lea ecx, [esp + 0x1c]
call fcn.10011250
mov ecx, dword [0x1005e760]
cmp ecx, 0x29
jne 0x1001bbcd
call fcn.10008900
cmp dword [0x1005e760], 0x3b
jne 0x1001bc26
mov eax, dword [0x1006e7ec]
mov esi, dword [esp + 0x20]
mov edx, esi
push 1
mov ecx, dword [eax + 0x358]
mov dword [eax + 0x36c], ecx
mov eax, dword [ecx]
mov dword [0x1006e81c], eax
mov eax, dword [esp + 0x20]
dec eax
push eax
call fcn.10027e60
mov eax, dword [0x1006e7ec]
mov ecx, dword [eax + 0x36c]
mov eax, dword [0x1006e81c]
mov dword [ecx], eax
call fcn.10008900
push esi
call fcn.1003ba4d
xorps xmm0, xmm0
mov dword [0x10071698], edi
mov edi, dword [esp + 0x18]
add esp, 0xc
movq qword [esp + 0x1c], xmm0
mov dword [esp + 0x24], 0
jmp 0x1001b160
mov ecx, dword [esp + 0x98]
cmp eax, 0x3b
jne 0x1001b3bd
mov eax, ecx
and eax, 0xf
cmp al, 7
jne 0x1001b3a5
mov eax, dword [esp + 0x9c]
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
test eax, 0x20000000
jne 0x1001b3b3
and eax, 0xbfffffff
cmp eax, 0x10000000
jl 0x1001b3b3
push str.unnamed_struct_union_that_defines_no_instances
call fcn.1002c530
add esp, 4
call fcn.10008900
jmp 0x1001b160
mov eax, ecx
and eax, 0xfff00080
cmp eax, 0x200000
jne 0x1001b3bd
call fcn.10008900
jmp 0x1001b160
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.100137e0
mov ecx, dword [esp + 0x6c]
add esp, 8
mov eax, ecx
and eax, 0xf
cmp al, 6
jne 0x1001b45d
test ecx, 0x2000
je 0x1001b425
cmp edi, 0x32
je 0x1001bc30
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0xc]
and al, 0x18
cmp al, 0x10
jne 0x1001b449
cmp edi, 0x30
jne 0x1001b449
push edx
xor edx, edx
lea ecx, [edi + 3]
call fcn.1001b130
mov ecx, dword [esp + 0x68]
add esp, 4
test ecx, 0x1000
je 0x1001b472
and ecx, 0xffff7fff
mov dword [esp + 0x64], ecx
jmp 0x1001b472
test esi, esi
je 0x1001b472
push str.type_defaults_to_int
call fcn.1002c530
mov ecx, dword [esp + 0x68]
add esp, 4
mov eax, dword [0x1006e7ec]
mov edx, dword [0x1005e760]
cmp byte [eax + 0x48], 0
je 0x1001b52b
cmp edx, 0x13a
je 0x1001b4a3
cmp edx, 0x13b
je 0x1001b4a3
cmp edx, 0x13c
jne 0x1001b52b
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x28
jne 0x1001bc05
call fcn.10008900
mov edx, str.string_constant
lea ecx, [esp + 0x28]
call fcn.10011250
mov ecx, dword [0x1005e760]
cmp ecx, 0x29
jne 0x1001bbcd
call fcn.10008900
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ecx, esi
lea edx, [edx - 1]
call fcn.100018d0
push esi
mov edi, dword [eax + 0x14]
call fcn.1003ba4d
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.10011350
mov ecx, dword [esp + 0x64]
mov edx, dword [0x1005e760]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
test eax, 0xa00
je 0x1001b5b3
test ecx, 0x2000
jne 0x1001bc3a
test ecx, 0x4000
je 0x1001b58d
shr eax, 0xb
and eax, 1
mov ecx, eax
mov eax, 0xf7ff
jne 0x1001b55e
mov eax, 0xfdff
and word [esp + 0x70], ax
test cx, cx
mov ecx, 0x100571cc
mov eax, 0x100571d8
cmovne eax, ecx
push eax
push str._s_attribute_ignored_for_typedef
call fcn.1002c530
mov ecx, dword [esp + 0x6c]
add esp, 8
mov edx, dword [0x1005e760]
jmp 0x1001b5b3
test eax, 0x800
je 0x1001b5b3
mov eax, ecx
and eax, 0xf
cmp al, 6
jne 0x1001b5a9
mov eax, 0xf7ff
and word [esp + 0x70], ax
jmp 0x1001b5b3
or ecx, 0x1000
mov dword [esp + 0x64], ecx
cmp edx, 0x7b
je 0x1001b94a
cmp edi, 0x33
jne 0x1001b64a
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x6c]
mov esi, dword [eax + 0x18]
test esi, esi
je 0x1001bc6c
mov eax, dword [esi]
and eax, 0xdfffffff
cmp eax, edi
je 0x1001b5e8
mov esi, dword [esi + 0x18]
jmp 0x1001b5d0
test ecx, 0xf000
jne 0x1001bc58
cmp dword [esi + 0x10], 0
jne 0x1001bc44
and ecx, 0xfffffcbf
mov eax, ecx
mov dword [esp + 0x64], ecx
and eax, 0xf
cmp al, 6
jne 0x1001b63b
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x6c]
mov ecx, 0x20000000
call fcn.1000b4a0
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 0x1001b904
test ecx, 0x4000
je 0x1001b795
mov edi, dword [esp + 0x6c]
mov eax, dword [0x1006e7f0]
add eax, 0xffffff00
lea ecx, [edi - 0x100]
cmp ecx, eax
jae 0x1001b6be
mov eax, dword [0x1005e75c]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x1001b6be
mov eax, dword [esi + 0xc]
cmp eax, dword [0x100715f4]
jne 0x1001b6be
push 0
lea edx, [esp + 0x68]
lea ecx, [esi + 0x10]
call fcn.1000ed90
add esp, 4
test eax, eax
je 0x1001bc80
test dword [esi + 0x10], 0x4000
je 0x1001bc80
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x1001b6d2
push 0
push 0
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.1000b4a0
add esp, 8
mov esi, eax
mov cx, word [esp + 0x70]
mov edi, dword [0x1006e7ec]
mov word [esi + 6], cx
mov ecx, dword [esp + 0x74]
mov dword [esi + 0xc], ecx
cmp byte [edi + 0x2f], 0
je 0x1001b904
mov ecx, dword [esi]
xorps xmm0, xmm0
and ecx, 0xdfffffff
movq qword [esp + 0xa0], xmm0
mov dword [esp + 0xa8], 0
cmp ecx, 0x10000000
jl 0x1001b720
mov eax, 0x10055836
jmp 0x1001b727
xor edx, edx
call fcn.100019a0
push eax
lea eax, [esp + 0xa4]
push str._s:t
push eax
call fcn.100016d0
add esp, 0xc
lea eax, [esp + 0xa0]
mov edx, esi
mov ecx, edi
push eax
call fcn.1000a460
mov edx, dword [esp + 0xa8]
add esp, 4
mov ecx, edi
push 0
push 0
push 0
push 0x80
call fcn.1000a280
push dword [esp + 0xb4]
call fcn.1003ba4d
xorps xmm0, xmm0
mov dword [esp + 0xbc], 0
add esp, 0x14
movq qword [esp + 0xa0], xmm0
jmp 0x1001b904
test ecx, 0x100f
je 0x1001bcaa
mov eax, ecx
xor esi, esi
and eax, 0xf
cmp al, 6
jne 0x1001b7c3
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov edx, dword [0x1005e760]
jmp 0x1001b7ce
test cl, 0x40
mov eax, 0x100
cmove esi, eax
xor eax, eax
cmp edx, 0x3d
sete al
mov dword [esp + 0x10], eax
jne 0x1001b7e8
test ecx, 0x400
jne 0x1001bc96
test ecx, 0x1000
je 0x1001b7f9
test eax, eax
je 0x1001b86b
cmp edi, 0x30
jne 0x1001b86b
mov eax, ecx
and eax, 0xf
cmp al, 6
je 0x1001b86b
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
test cl, 0x40
je 0x1001b825
test edi, edi
jne 0x1001b825
cmp eax, 0x30
jne 0x1001b825
mov eax, dword [esp + 0x68]
cmp dword [eax + 8], edi
jl 0x1001b86b
mov eax, dword [esp + 0xc]
test ecx, 0x2000
je 0x1001b832
or esi, 0x30
jmp 0x1001b834
or esi, eax
test edi, edi
je 0x1001b843
call fcn.10008900
mov eax, dword [esp + 0xc]
jmp 0x1001b852
cmp eax, 0x30
jne 0x1001b852
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.1001a200
jmp 0x1001b901
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.1000bfc0
mov edx, dword [esp + 0x88]
add esp, 8
mov esi, eax
test edx, edx
je 0x1001b904
mov ecx, dword [0x1006e7f0]
add edx, 0xffffff00
add ecx, 0xffffff00
cmp edx, ecx
jae 0x1001bca0
mov eax, dword [0x1005e75c]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1001bca0
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1001bca0
mov eax, dword [0x1006e7ec]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*8]
test eax, eax
je 0x1001bca0
movzx edx, word [eax + 6]
push ecx
push dword [eax + 0x10]
mov ecx, esi
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.1000b100
add esp, 0x10
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
jne 0x1001b928
call fcn.10008900
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 8]
jmp 0x1001b3bd
cmp dword [esp + 0x14], 0
jne 0x1001bb89
cmp ecx, 0x3b
jne 0x1001bbb6
call fcn.10008900
mov edi, dword [esp + 0xc]
jmp 0x1001b160
cmp edi, 0x30
jne 0x1001bba2
mov eax, ecx
and eax, 0xf
cmp al, 6
jne 0x1001bcd2
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x1001b99e
nop dword [eax + eax]
test dword [edx], 0xdfffffff
je 0x1001bcb4
cmp dword [edx + 0x10], 0
jne 0x1001b993
mov eax, dword [0x1006e79c]
mov ecx, dword [0x1006e7a0]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x1001b970
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 0x1001b9d8
mov eax, dword [edx + 0xc]
test al, 7
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
jne 0x1001b9d8
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 0x1001ba05
mov eax, dword [edx + 0xc]
test al, 0x18
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
jne 0x1001ba05
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 0x1001ba19
cmp byte [edx + 0xd], 0
jne 0x1001ba19
mov byte [edx + 0xd], al
mov ecx, dword [esp + 0x64]
test byte [esp + 0x74], 0x20
je 0x1001ba28
or dword [edx + 0xc], 0x20
mov ecx, dword [esp + 0x64]
test byte [esp + 0x74], 0x40
je 0x1001ba37
or dword [edx + 0xc], 0x40
mov ecx, dword [esp + 0x64]
test byte [esp + 0x74], 0x80
je 0x1001ba49
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.1000bfc0
mov edx, eax
add esp, 8
mov dword [esp + 8], edx
test dword [edx + 0x10], 0x8000
je 0x1001bb4c
mov ecx, dword [0x1006e78c]
add ecx, 0x28
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001ba90
sub ecx, edx
lea edi, [ecx + 0xc]
push edi
call fcn.1003dd3b
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
jne 0x1001bab7
test edi, edi
jne 0x1001bcbe
mov ecx, dword [0x1006e78c]
mov edx, esi
add ecx, 0x28
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx + 7], al
test al, al
jne 0x1001bac4
mov eax, dword [esp + 8]
mov ecx, esi
mov dword [esi + 4], eax
call fcn.10018c60
mov eax, dword [0x1006e7ec]
mov dword [esp + 8], eax
mov esi, dword [eax + 0x33c]
mov ecx, dword [eax + 0x338]
lea eax, [esi - 1]
test esi, eax
jne 0x1001bb2f
mov edi, 4
test esi, esi
je 0x1001bb0b
lea edi, [esi*8]
push edi
push ecx
call fcn.100373ba
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x1001bb23
test edi, edi
jne 0x1001bcc8
mov edx, dword [esp + 8]
mov dword [edx + 0x338], ecx
jmp 0x1001bb33
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 + 0x33c], eax
jmp 0x1001b160
mov ecx, dword [0x1006e7ec]
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x36c], eax
cmp dword [esp + 0x78], 0
jne 0x1001bb6f
mov eax, dword [ecx + 0x358]
mov dword [ecx + 0x36c], eax
mov ecx, edx
call fcn.1001abd0
jmp 0x1001b160
cmp eax, 0xffffffff
jne 0x1001bc1c
jmp 0x1001b245
mov ecx, dword [esp + 0xac]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
push str.cannot_use_local_functions
call fcn.1002c510
push str._Static_assert_fail
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x3b
push str._c_expected__got___s__
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x29
push str._c_expected__got___s__
call fcn.1002c510
push 0x10055d80
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x2c
push str._c_expected__got___s__
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x28
push str._c_expected__got___s__
call fcn.1002c510
mov ecx, str.declaration
call fcn.10001280
mov ecx, 0x10057dc8
call fcn.10001280
push str.function_without_file_scope_cannot_be_static
call fcn.1002c510
push str.cannot_have_dll_linkage_with_static
call fcn.1002c510
xor edx, edx
mov ecx, edi
call fcn.100019a0
push eax
push str.redefinition_of_parameter__s
call fcn.1002c510
xor edx, edx
mov ecx, edi
call fcn.100019a0
push eax
push str.storage_class_specified_for__s
call fcn.1002c510
xor edx, edx
mov ecx, edi
call fcn.100019a0
push eax
push str.declaration_for_parameter__s_but_no_such_parameter
call fcn.1002c510
mov ecx, dword [esp + 0x6c]
xor edx, edx
call fcn.100019a0
push eax
push str.incompatible_redefinition_of__s
call fcn.1002c510
push str.variable_length_array_cannot_be_initialized
call fcn.1002c510
push str.unsupported_forward___alias___attribute
call fcn.1002c510
push str.declaration_of_void_object
call fcn.1002c510
mov ecx, str.identifier
call fcn.10001280
push str.memory_full__malloc_
call fcn.1002c510
push str.memory_full__realloc_
call fcn.1002c510
mov ecx, str.function_definition
call fcn.10001280
int3