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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x230
mov ebx, dword [ebp + 8]
xor edi, edi
cmp byte [ebx + 0x130], 0
mov eax, 0
jne 0x1004c5dc
lea eax, [ebx + 0x100]
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0xa8]
mov dword [esp + 0x50], eax
mov edi, dword [0x1017d440]
mov eax, dword [ebx + 0x12c]
cmp dword [eax], 0
jne 0x1004be23
mov eax, dword [ebx + 0x40]
xor eax, 4
or eax, dword [ebx + 0x44]
je 0x1004be23
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
add eax, 0xfffffffe
adc ecx, 0xffffffff
mov edx, 3
cmp edx, eax
mov edx, 0
sbb edx, ecx
jb 0x1004be23
test eax, eax
jne 0x1004be23
push dword [esp + 0x50]
call fcn.1002f694
add esp, 4
test al, al
je 0x1004be23
mov eax, dword [esp + 0x4c]
cmp dword [eax], 2
jne 0x1004be23
push dword [ebp + 0xc]
push dword [esp + 0x50]
lea eax, [esp + 0x78]
push eax
call fcn.10042665
add esp, 0xc
mov ebx, dword [esp + 0x70]
mov eax, ebx
and al, 7
cmp al, 3
je 0x1004c57c
cmp ebx, 4
je 0x1004c577
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
push 0x8c
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.100e9d70
add esp, 0xc
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a8], edi
mov ecx, 0x1f
lea edi, [esp + 0x1ac]
lea esi, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x18c]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x20], xmm0
cmp dword [esp + 0x20], 0
je 0x1004c0d9
mov eax, dword [esp + 0x28]
test eax, eax
mov ebx, dword [ebp + 8]
jne 0x1004c1b3
jmp 0x1004c0f2
cmp byte [ebx + 0xf8], 0
jne 0x1004be40
push dword [esp + 0x50]
call fcn.1002d861
add esp, 4
test al, al
je 0x1004bf81
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
add eax, 0xfffffffe
adc ecx, 0xffffffff
mov edx, 3
cmp edx, eax
mov edx, 0
sbb edx, ecx
setb cl
cmp eax, 1
sete al
or al, cl
mov esi, dword [ebx + 0x12c]
cmp dword [esi], 0
je 0x1004bf36
lea ecx, [esi + 4]
test al, al
je 0x1004bf54
push dword [ebp + 0xc]
mov dword [esp + 0x10], ecx
push ecx
lea eax, [esp + 0x78]
push eax
call fcn.1005647c
add esp, 0xc
cmp dword [esp + 0x70], 2
je 0x1004c551
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], eax
movups xmm0, xmmword [esp + 0x70]
movaps xmmword [esp + 0x20], xmm0
cmp dword [esp + 0x20], 0
je 0x1004c043
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
test ecx, ecx
je 0x1004c55f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0xc]
cmp dword [ecx], 0
je 0x1004c070
test eax, eax
sete cl
cmp dword [esi + 0xc], 0
mov ebx, dword [ebp + 8]
je 0x1004c08f
test cl, cl
je 0x1004c12e
mov eax, dword [0x1017e714]
mov eax, dword [eax]
test eax, eax
je 0x1004c239
mov eax, dword [esp + 0x10]
push dword [esp + 0x18]
push dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1004bf6f
test al, al
je 0x1004c551
push ebx
call fcn.10049ce8
add esp, 4
test eax, eax
je 0x1004c221
jmp 0x1004c559
mov eax, dword [0x1017e714]
mov eax, dword [eax]
test eax, eax
je 0x1004bfa4
cmp dword [esi], 0
je 0x1004bf69
call fcn.10018189
mov dword [esi], 0
cmp byte [ebx + 0x130], 0
je 0x1004bd15
jmp 0x1004c54a
push dword [ebp + 0xc]
push ebx
call fcn.1004ba6f
add esp, 8
test eax, eax
jne 0x1004c55d
mov edi, edx
test edx, edx
je 0x1004c221
jmp 0x1004c5da
mov eax, dword [0x1017d448]
mov al, byte [eax + 8]
mov byte [esp + 0x3c], al
movzx eax, al
mov dword [esp + 0xc], ecx
lea edx, [eax - 1]
cmp edx, 2
mov ecx, dword [esp + 0xc]
jae 0x1004c14b
movzx eax, byte [esp + 0x3c]
push eax
mov eax, dword [0x1017d448]
push dword [eax]
call fcn.1008c89d
mov ecx, dword [esp + 0x14]
add esp, 8
test al, al
je 0x1004bf5f
mov eax, dword [0x1017d448]
mov edi, dword [eax]
mov eax, dword [edi + 0x20]
test eax, eax
je 0x1004c5e6
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x24]
mov ebx, dword [edi + 0x28]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], 0
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
je 0x1004c328
cmp dword [esi + 0xc], 0
sete al
jmp 0x1004c334
push ebx
call fcn.10049ce8
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x20]
test edi, edi
jne 0x1004c59e
test eax, eax
je 0x1004c18e
lea ecx, [esp + 0x24]
call fcn.10046071
jmp 0x1004c18e
mov eax, dword [esi + 0xc]
push dword [esi + 8]
call dword [eax + 0x14]
add esp, 4
cmp dword [esp + 0x18], 0
sete cl
test al, al
mov ebx, dword [ebp + 8]
je 0x1004bf06
test cl, cl
je 0x1004c176
mov eax, dword [0x1017e714]
mov eax, dword [eax]
test eax, eax
mov edi, dword [0x1017d444]
je 0x1004c3d9
push ebx
call fcn.10049ce8
add esp, 4
test eax, eax
jne 0x1004c5ad
mov eax, dword [esp + 0x10]
push dword [esp + 0x18]
push dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1004c18e
mov eax, dword [esp + 0x28]
push dword [esp + 0x24]
call dword [eax + 0x14]
add esp, 4
test al, al
mov ebx, dword [ebp + 8]
je 0x1004c1a4
mov esi, dword [ebx + 0x12c]
cmp dword [esi], 0
je 0x1004c105
lea ecx, [esi + 4]
call fcn.10018189
xor eax, eax
mov dword [esi], eax
sub esp, 8
push eax
push 2
lea eax, [esp + 0x1b0]
push eax
push ebx
call fcn.10047be7
add esp, 0x18
lea ecx, [esp + 0x20]
call fcn.10018189
jmp 0x1004c221
movups xmm0, xmmword [esp + 0x10]
movaps xmmword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
push eax
push ebx
call fcn.10047b3a
add esp, 8
jmp 0x1004c221
test eax, eax
je 0x1004bf5f
push dword [0x1017d448]
call fcn.100ff6f5
mov ecx, dword [esp + 0x10]
add esp, 4
mov byte [esp + 0x3c], al
test al, al
jne 0x1004bfc7
jmp 0x1004bf5f
movups xmm0, xmmword [esp + 0x10]
movaps xmmword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
push eax
push ebx
call fcn.10049921
add esp, 8
cmp dword [esi], 0
mov ecx, dword [esp + 0xc]
je 0x1004c19c
call fcn.10018189
mov dword [esi], 0
jmp 0x1004c221
cmp dword [esp + 0x20], 0
je 0x1004c4c0
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov edx, eax
xor edi, edi
xor eax, edx
xor ecx, edi
xor ebx, ebx
or ecx, eax
sete bl
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x110], xmm0
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x12c]
cmp dword [esi], 0
je 0x1004c1f3
lea ecx, [esi + 4]
mov dword [esp + 0xc], edi
mov edi, edx
call fcn.10018189
mov edx, edi
mov edi, dword [esp + 0xc]
xor ebx, 1
mov dword [esi], 1
movaps xmm0, xmmword [esp + 0x110]
movups xmmword [esi + 4], xmm0
push edi
push edx
push 0
push ebx
lea eax, [esp + 0x1b0]
push eax
mov ebx, dword [ebp + 8]
push ebx
call fcn.10047be7
add esp, 0x18
cmp byte [ebx + 0x130], 0
mov edi, dword [0x1017d440]
je 0x1004bd15
jmp 0x1004c54a
mov al, byte [edi + 8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1004c507
movzx eax, al
push eax
push dword [edi]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1004bf1d
mov eax, dword [edi]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1004c5f7
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov dword [esp + 0x3c], esi
mov esi, dword [eax + 0x28]
mov dword [esp + 0xc], esi
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], ecx
add eax, 0x1c
xor ecx, ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x70], 0x1010b044
mov dword [esp + 0x74], 1
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], 0x10109a08
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0x101099f8
lea ecx, [esp + 0x40]
push ecx
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.100779c8
add esp, 0xc
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 0x60], xmm0
lea eax, [esp + 0x60]
push eax
push dword [edi]
call fcn.1008cd25
add esp, 8
jmp 0x1004bf1d
mov eax, dword [esi + 0xc]
push dword [esi + 8]
call dword [eax + 0x14]
add esp, 4
mov ebx, dword [ebp + 8]
mov byte [esp + 0x60], al
add edi, 0x1c
lea eax, [esp + 0x60]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], fcn.100d7eb0
mov dword [esp + 0x70], 0x1010b014
xor eax, eax
inc eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x54]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0x101099f8
lea eax, [esp + 0x20]
push eax
push edi
lea eax, [esp + 0x18]
push eax
call fcn.100779c8
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x40], xmm0
lea eax, [esp + 0x40]
push eax
mov eax, dword [0x1017d448]
push dword [eax]
call fcn.1008cd25
add esp, 8
mov edi, dword [0x1017d440]
mov ecx, dword [esp + 0xc]
jmp 0x1004bf5f
mov al, byte [edi + 8]
movzx ecx, al
lea edx, [ecx - 1]
cmp edx, 2
jae 0x1004c525
movzx eax, al
push eax
push dword [edi]
call fcn.1008c89d
add esp, 8
test al, al
je 0x1004c0ac
mov eax, dword [edi]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1004c5fe
mov edx, dword [eax + 0x1c]
mov edi, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], ebx
add eax, 0x1c
xor ecx, ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x70], 0x1010b044
mov dword [esp + 0x74], 1
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], 0x10109a08
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0x101099f8
lea ecx, [esp + 0x40]
push ecx
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.100779c8
add esp, 0xc
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 0x60], xmm0
lea eax, [esp + 0x60]
push eax
mov eax, dword [0x1017d444]
push dword [eax]
call fcn.1008cd25
add esp, 8
mov ebx, dword [ebp + 8]
jmp 0x1004c0ac
mov eax, dword [esp + 0x28]
push dword [esp + 0x24]
lea ecx, [esp + 0x114]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0x110]
or eax, dword [esp + 0x114]
je 0x1004c543
mov edi, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
jmp 0x1004c1b9
test ecx, ecx
je 0x1004bf1d
push edi
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1004c24b
jmp 0x1004bf1d
test ecx, ecx
je 0x1004c0ac
push edi
call fcn.100ff6f5
add esp, 4
test al, al
jne 0x1004c3eb
jmp 0x1004c0ac
xor ebx, ebx
jmp 0x1004c1c4
xor edi, edi
jmp 0x1004c5da
xor eax, eax
inc eax
jmp 0x1004c5dc
mov edi, eax
jmp 0x1004c5da
jmp 0x1004c5dc
push 0
call fcn.10068c14
add esp, 4
mov edi, eax
push ebx
push eax
call fcn.1004785e
add esp, 8
jmp 0x1004c5c6
xor eax, eax
inc eax
jmp 0x1004c59a
mov esi, dword [ebp + 8]
mov byte [esi + 0x130], 1
push esi
call fcn.1005df0d
add esp, 4
push esi
call fcn.1005e01b
add esp, 4
xor eax, eax
xor edi, edi
jmp 0x1004c5dc
test eax, eax
je 0x1004c5c6
lea ecx, [esp + 0x24]
call fcn.10046071
jmp 0x1004c5c6
mov edi, eax
mov eax, dword [esp + 0x10]
push dword [esp + 0x18]
push dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp dword [esi], 0
mov ecx, dword [esp + 0xc]
je 0x1004c5d4
call fcn.10018189
mov dword [esi], 0
xor eax, eax
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x1010afcc
push 0x22
push str.FieldSet_corrupted__this_is_a_bug_main.rs_srcprotoh1dispatch.rs
call fcn.10101180
push 0x1010b01c
jmp 0x1004c5eb
push 0x1010b04c
jmp 0x1004c5eb