Function at 0x4144cc
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
nop
mov eax, 0
mov dword [ebp - 0xc], eax
mov eax, 0
mov dword [ebp - 0x24], eax
mov eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [section..data]
test eax, eax
je 0x414512
call fcn.0041365d
mov dword [ebp - 0x1c], eax
cmp eax, 0
je 0x414512
jmp 0x4146ed
mov eax, dword [0x42fb20]
cmp eax, 0x5b
je 0x414535
mov eax, dword [0x42fb20]
cmp eax, 0x2e
je 0x414535
jmp 0x4147e3
mov eax, dword [0x42fb20]
cmp eax, 0x5b
jne 0x4146da
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 0x20
test ecx, ecx
je 0x414559
jmp 0x414567
mov eax, str.array_type
push eax
call fcn.004040c8
add esp, 4
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
call fcn.00409ffb
call fcn.00413605
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0
jl 0x4145b9
mov eax, dword [ebp - 4]
add eax, 8
mov ecx, dword [eax]
cmp ecx, 0
jl 0x4145b4
mov eax, dword [ebp - 4]
add eax, 8
mov ecx, dword [ebp - 0x10]
mov edx, dword [eax]
cmp ecx, edx
jl 0x4145b4
jmp 0x4145b9
jmp 0x4145c7
mov eax, 0x42cfbe
push eax
call fcn.004040c8
add esp, 4
mov eax, dword [0x42fb20]
cmp eax, 0xcc
jne 0x41464f
mov eax, dword [section..data]
test eax, eax
je 0x41464f
call fcn.00409ffb
call fcn.00413605
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
jl 0x41463c
mov eax, dword [ebp - 4]
add eax, 8
mov ecx, dword [eax]
cmp ecx, 0
jl 0x414629
mov eax, dword [ebp - 4]
add eax, 8
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
cmp ecx, edx
jl 0x414629
jmp 0x41463c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
cmp eax, ecx
jl 0x41463c
jmp 0x41464a
mov eax, str.invalid_index
push eax
call fcn.004040c8
add esp, 4
jmp 0x414655
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, 0x5d
push eax
call fcn.00404133
add esp, 4
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x414673
jmp 0x41467b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00429678
add esp, 4
mov dword [ebp + 8], eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040e955
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
imul eax, ecx
mov ecx, dword [ebp + 0x10]
add ecx, eax
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
sub eax, ecx
add eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 1
je 0x4146d5
mov eax, 1
mov dword [ebp - 0xc], eax
jmp 0x4147e3
jmp 0x4147d6
call fcn.00409ffb
mov eax, dword [0x42fb20]
mov dword [ebp - 0x1c], eax
call fcn.00409ffb
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 0xf
cmp ecx, 7
je 0x41470c
mov eax, str.struct_union_type
push eax
call fcn.004040c8
add esp, 4
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x1c]
or eax, 0x20000000
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
add eax, 0x14
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
test eax, eax
je 0x41475b
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jne 0x41474e
jmp 0x41475b
mov eax, dword [ebp - 8]
add eax, 0x14
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
jmp 0x41472e
mov eax, dword [ebp - 8]
test eax, eax
je 0x41476b
jmp 0x414779
mov eax, str.field
push eax
call fcn.004040c8
add esp, 4
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x414789
jmp 0x414791
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov eax, dword [ebp - 8]
add eax, 0xc
mov ecx, 8
push ecx
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov dword [ebp - 0x30], eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 0x780
mov eax, dword [ebp - 0x2c]
or eax, ecx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 8]
add eax, 8
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp + 0x10], ecx
mov eax, 1
mov dword [ebp - 0xc], eax
jmp 0x414512
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x41482d
mov eax, dword [0x42fb20]
cmp eax, 0x3d
jne 0x414807
call fcn.00409ffb
jmp 0x414828
mov eax, dword [section..data]
test eax, eax
je 0x41481a
jmp 0x414828
mov eax, 0x42cff2
push eax
call fcn.004040c8
add esp, 4
jmp 0x4148e2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 0x20
test ecx, ecx
je 0x414877
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00429678
add esp, 4
mov dword [ebp + 8], eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040e955
add esp, 8
mov ecx, dword [ebp - 0x10]
imul ecx, eax
mov eax, dword [ebp + 0x10]
add eax, ecx
mov dword [ebp + 0x10], eax
jmp 0x4148e2
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
test eax, eax
je 0x41488f
jmp 0x41489d
mov eax, str.too_many_field_init
push eax
call fcn.00404055
add esp, 4
mov eax, dword [ebp - 8]
add eax, 0xc
mov ecx, 8
push ecx
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov dword [ebp - 0x34], eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 0x780
mov eax, dword [ebp - 0x2c]
or eax, ecx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 8]
add eax, 8
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax]
add ecx, edx
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp + 0x1c]
push eax
mov eax, 0
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00414fcf
add esp, 0x14
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x414910
jmp 0x4149cd
mov eax, dword [ebp - 0x20]
cmp eax, 1
jle 0x4149cd
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x41492c
jmp 0x41493a
mov eax, str.range_init_not_supported_yet_for_dynamic_storage
push eax
call fcn.00404055
add esp, 4
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
imul eax, ecx
mov ecx, dword [ebp + 0x10]
add ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp + 0xc]
add eax, 8
mov ecx, dword [ebp - 0x38]
mov edx, dword [eax]
cmp ecx, edx
jbe 0x41496e
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.004038b3
add esp, 8
mov eax, dword [ebp + 0xc]
add eax, 4
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
add ecx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jge 0x4149cd
jmp 0x4149ac
mov eax, dword [ebp - 0x44]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x44], eax
jmp 0x41498c
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x40]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x41499f
leave
ret