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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb8
mov eax, dword [esp + 0xcc]
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x5c]
mov edi, edx
mov dword [esp + 0x48], edx
mov dword [ecx], 4
and dword [ecx + 4], 0
and dword [ecx + 8], 0
imul eax, eax, 0x16c
add esi, 0x2a
lea ebx, [edx + eax]
mov dword [esp + 0xac], eax
push 2
pop eax
mov dword [esp + 0x44], eax
mov dword [esp + 4], 0
push 4
pop eax
mov ecx, esi
mov esi, eax
cmp edi, ebx
je 0x4339f4
mov ebp, edi
add edi, 0x16c
mov eax, dword [ebp + 0x144]
or eax, dword [ebp + 0x148]
bt eax, 0x17
jb 0x433705
mov dword [esp + 0x68], 1
and dword [esp + 0x6c], 0
and dword [esp + 0x70], 0
mov dword [esp + 0xc], esi
mov esi, ecx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 6]
movsd qword [esp + 0x9a], xmm1
movsd qword [esp + 0x94], xmm0
call fcn.0041905e
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], 0x6290bc
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x30], 0x415a05
mov dword [esp + 0x34], eax
mov eax, fcn.00417b94
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
push 3
pop eax
mov dword [esp + 0x80], eax
and dword [esp + 0x8c], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004190bd
pop ecx
pop edx
mov eax, dword [ebp + 0x1c]
cmp eax, 0x110000
je 0x43389d
mov dword [esp + 0xa4], eax
mov ecx, esi
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 6]
movsd qword [esp + 0x9a], xmm1
movsd qword [esp + 0x94], xmm0
call fcn.0041905e
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], 0x583a98
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x30], 0x415a05
mov dword [esp + 0x34], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x38], fcn.00440350
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], fcn.00417b94
push 3
pop eax
mov dword [esp + 0x80], eax
and dword [esp + 0x8c], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004190bd
pop ecx
pop edx
mov eax, dword [ebp + 0x94]
test eax, eax
je 0x433959
mov ecx, dword [ebp + 0x98]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
mov ecx, esi
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 6]
movsd qword [esp + 0x9a], xmm1
movsd qword [esp + 0x94], xmm0
call fcn.0041905e
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], 0x583ab0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x30], 0x415a05
mov dword [esp + 0x34], eax
mov eax, fcn.00417b94
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
push 3
pop eax
mov dword [esp + 0x80], eax
and dword [esp + 0x8c], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004190bd
pop ecx
pop edx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov dword [esp + 8], esi
call fcn.00435ea3
mov ecx, dword [esp + 0x44]
cmp ecx, eax
cmovbe ecx, eax
cmp dword [ebp], 0
mov eax, 0x3e7
mov dword [esp + 0x44], ecx
je 0x433985
mov eax, dword [ebp + 4]
mov edx, dword [esp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
cmp edx, dword [esp + 0x60]
mov dword [esp + 0x34], eax
movsd qword [esp + 0x2c], xmm0
jne 0x4339b9
lea ecx, [esp + 0x5c]
call fcn.0053164d
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
jmp 0x4339bd
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
imul eax, edx, 0x14
mov dword [esi + eax + 8], ecx
mov ecx, dword [esp]
movsd xmm0, qword [esp + 0x2c]
movsd qword [esi + eax], xmm0
mov dword [esi + eax + 0xc], ecx
mov dword [esi + eax + 0x10], ebp
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 4], eax
mov dword [esp + 0x64], eax
jmp 0x433705
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x5c]
cmp edi, 0x15
mov dword [esp + 0x14], eax
jae 0x433a21
cmp edi, 1
jbe 0x433e69
mov ecx, dword [esp + 0x14]
mov edx, edi
push 1
call fcn.00425858
pop eax
jmp 0x433e69
mov eax, edi
shr eax, 1
imul ecx, eax, 0x14
mov al, byte [0x640d9c]
push 4
pop edx
call fcn.00403fe0
test eax, eax
mov dword [esp + 8], eax
je 0x434187
push 0x10
pop esi
mov ecx, esi
call fcn.004b8417
test eax, eax
je 0x434196
mov ebx, eax
mov eax, dword [esp + 0x14]
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 4], edi
add eax, 0x14
mov dword [esp + 0x74], eax
mov edx, edi
sub edx, ecx
jbe 0x433e52
cmp edx, 2
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], esi
jae 0x433a86
mov eax, edi
jmp 0x433bd7
mov eax, dword [esp + 0x14]
imul esi, ecx, 0x14
mov dword [esp], edx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebx
lea edx, [eax + esi]
lea ecx, [edx + 0x14]
call fcn.00425974
mov ebx, eax
test al, al
je 0x433acc
add esi, dword [esp + 0x74]
push 2
pop ebp
mov edx, dword [esp]
cmp edx, ebp
je 0x433af1
lea edi, [esi + 0x14]
mov edx, esi
mov ecx, edi
call fcn.00425974
test al, al
je 0x433aef
inc ebp
mov esi, edi
jmp 0x433ab0
add esi, dword [esp + 0x74]
push 2
pop ebp
mov edx, dword [esp]
cmp edx, ebp
je 0x433af1
lea edi, [esi + 0x14]
mov edx, esi
mov ecx, edi
call fcn.00425974
test al, al
jne 0x433aef
inc ebp
mov esi, edi
jmp 0x433ad3
mov edx, ebp
mov ecx, dword [esp + 0x10]
test bl, bl
lea eax, [edx + ecx]
je 0x433baa
mov dword [esp], edx
mov edx, eax
mov dword [esp + 0x1c], eax
push 0x5b0880
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.00425823
add esp, 0xc
mov edi, edx
imul ecx, edx, 0x14
xor esi, esi
shr edi, 1
add ecx, eax
mov edx, edi
neg edx
imul ebx, edx, 0x14
mov edx, edi
add ebx, ecx
xor ecx, ecx
push 0x5b07f0
push edi
push eax
call fcn.00425823
add esp, 0xc
mov dword [esp + 0xc], edx
mov ebp, eax
mov edx, edi
xor ecx, ecx
push 0x5b0800
push edi
push ebx
call fcn.00425823
add esp, 0xc
imul ebx, edi, 0x14
mov dword [esp + 0x24], edx
mov edx, edi
add ebx, eax
cmp esi, edx
je 0x433bbc
cmp esi, dword [esp + 0xc]
je 0x43410f
mov ecx, esi
mov eax, edx
not ecx
add ecx, edx
cmp ecx, dword [esp + 0x24]
jae 0x43411c
push 0xfffffffffffffffb
pop eax
test eax, eax
je 0x433ba1
mov ecx, dword [ebp + eax*4 + 0x14]
mov edi, dword [ebx + eax*4]
mov dword [ebp + eax*4 + 0x14], edi
mov dword [ebx + eax*4], ecx
inc eax
jmp 0x433b8c
inc esi
add ebx, 0xffffffec
add ebp, 0x14
jmp 0x433b69
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
jmp 0x433bd7
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [esp]
cmp eax, ecx
jb 0x434164
cmp eax, edi
ja 0x434164
jae 0x433c2e
cmp edx, 9
ja 0x433c2e
lea esi, [ecx + 0xa]
mov ecx, dword [esp + 0x10]
cmp esi, edi
cmovae esi, edi
cmp edx, 1
adc edx, 0
mov dword [esp], edx
mov edx, esi
push 0x5b094c
push edi
push dword [esp + 0x1c]
call fcn.00425823
add esp, 0xc
mov ecx, eax
push dword [esp]
call fcn.00425858
mov eax, esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
add esp, 4
cmp ebp, esi
mov dword [esp + 0x1c], eax
jne 0x433c72
lea ecx, [esi + esi]
mov dword [esp + 0x78], ecx
call fcn.004b8417
test eax, eax
je 0x434173
mov ecx, esi
mov esi, eax
shl ecx, 3
push ecx
push ebx
push eax
call fcn.005669c0
add esp, 0xc
mov ecx, ebx
push 4
pop edx
call fcn.00404040
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, esi
jmp 0x433c76
mov dword [esp + 0x78], esi
sub eax, ecx
mov dword [esp + 0x20], ebx
mov dword [ebx + ebp*8], eax
mov dword [ebx + ebp*8 + 4], ecx
inc ebp
mov edx, ebp
mov ecx, ebx
push edi
call fcn.00404bf1
pop ecx
cmp eax, 1
jne 0x433e45
mov esi, edx
mov edx, ebp
mov ecx, ebx
push 0x5b0890
push esi
call fcn.004487f1
pop ecx
pop edx
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov edx, ebp
mov dword [esp + 0x10], esi
inc esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0xc], ecx
mov ecx, ebx
push 0x5b08a0
mov dword [esp + 0x28], esi
push esi
call fcn.004487f1
pop ecx
pop edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edi
add edx, ecx
mov dword [esp + 0x58], ecx
mov ecx, edi
push 0x5b08b0
push dword [esp + 8]
push dword [esp + 0x1c]
call fcn.00425823
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov ebp, eax
imul ebx, ecx, 0x14
lea edi, [eax + ebx]
imul eax, edx, 0x14
sub edx, ecx
cmp edx, ecx
jae 0x433d7e
imul ebx, edx, 0x14
push ebx
push edi
mov esi, dword [esp + 0x10]
push esi
mov dword [esp + 0xc], eax
call fcn.005669c0
add esp, 0xc
mov eax, dword [esp]
add ebx, esi
lea esi, [ebp + eax - 0x14]
cmp edi, ebp
jbe 0x433ddd
cmp ebx, dword [esp + 8]
jbe 0x433ddd
lea ecx, [ebx - 0x14]
lea edx, [edi - 0x14]
call fcn.00425974
movzx ecx, al
imul edx, ecx, 0x14
neg ecx
imul ecx, ecx, 0x14
lea ebx, [ebx + edx - 0x14]
add edi, ecx
test al, al
mov eax, ebx
cmovne eax, edi
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi], xmm0
movsd qword [esi + 8], xmm1
mov eax, dword [eax + 0x10]
mov dword [esi + 0x10], eax
add esi, 0xffffffec
jmp 0x433d2c
add eax, ebp
mov dword [esp], eax
push ebx
push ebp
mov esi, dword [esp + 0x10]
push esi
call fcn.005669c0
add esp, 0xc
add ebx, esi
cmp esi, ebx
jae 0x433de3
cmp edi, dword [esp]
jae 0x433de3
mov ecx, edi
mov edx, esi
call fcn.00425974
test al, al
mov ecx, esi
cmovne ecx, edi
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [ebp], xmm0
movsd qword [ebp + 8], xmm1
mov ecx, dword [ecx + 0x10]
mov dword [ebp + 0x10], ecx
movzx ecx, al
xor al, 1
add ebp, 0x14
movzx eax, al
imul ecx, ecx, 0x14
imul eax, eax, 0x14
add edi, ecx
add esi, eax
jmp 0x433d94
mov esi, dword [esp + 8]
mov ebp, edi
sub ebx, esi
push ebx
push esi
push ebp
call fcn.005669c0
add esp, 0xc
mov ebp, dword [esp + 0x28]
cmp ebp, dword [esp + 0x24]
jbe 0x43412d
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add eax, dword [esp + 0xc]
cmp ebp, edx
mov dword [ebx + edx*8 + 8], eax
mov dword [ebx + edx*8 + 0xc], ecx
jbe 0x434138
lea eax, [ebx + edx*8]
lea ecx, [ebx + edx*8 + 8]
not edx
add edx, ebp
shl edx, 3
push edx
push ecx
push eax
call fcn.005669c0
add esp, 0xc
mov edi, dword [esp + 4]
dec ebp
jmp 0x433c84
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
jmp 0x433a68
push 4
pop esi
mov ecx, ebx
mov edx, esi
call fcn.00404040
mov ecx, dword [esp + 8]
mov edx, esi
call fcn.00404040
mov edx, dword [esp + 0x54]
movsd xmm0, qword [0x57d450]
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0xac]
mov al, byte [edx + 0x14]
movss xmm2, dword [edx]
mov byte [esp], al
mov eax, dword [esp + 0x44]
orpd xmm2, xmm0
subsd xmm2, xmm0
lea ecx, [eax + 4]
mov eax, dword [edx]
movd xmm1, ecx
por xmm1, xmm0
subsd xmm1, xmm0
cvtsd2ss xmm0, xmm2
cvtsd2ss xmm1, xmm1
sub eax, ecx
divss xmm1, xmm0
mov dword [esp + 4], eax
setb al
ucomiss xmm1, dword [0x57d458]
setbe cl
add esi, 0xcc
or cl, al
mov byte [esp + 0xc], cl
test ebp, ebp
setne byte [esp + 8]
je 0x433f7f
mov eax, dword [esi + 0x78]
or eax, dword [esi + 0x7c]
bt eax, 0x17
jb 0x433f5e
lea edx, [esi - 0xcc]
lea ecx, [esp + 0x2c]
call fcn.00436648
cmp byte [esp], 0
mov edi, dword [esp + 0x2c]
jne 0x433f6f
cmp dword [esi], 0
mov eax, 0x5824fc
je 0x433f10
mov eax, esi
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x48], esi
call fcn.00435ea3
mov ecx, edi
mov edx, ebx
mov esi, eax
call fcn.004197a3
cmp byte [esp + 0xc], 0
je 0x433f45
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.004499b4
mov esi, dword [esp + 0x48]
jmp 0x433f5e
mov edx, dword [esp + 0x30]
mov ebx, eax
mov ecx, edi
add ebx, esi
call fcn.004499b4
cmp ebx, dword [esp + 4]
mov esi, dword [esp + 0x48]
ja 0x433f7f
add esi, 0x16c
add ebp, 0xfffffe94
jmp 0x433ed2
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.004499b4
mov byte [esp + 8], 1
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
imul ecx, dword [esp + 0x64], 0x14
mov dword [esp + 0x20], eax
lea eax, [ebp + ecx]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x58], eax
xor eax, eax
test ecx, ecx
je 0x4340c4
mov edi, dword [ebp]
test edi, edi
je 0x4340c1
mov esi, dword [ebp + 4]
mov edx, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x28], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x10], edx
jb 0x433ff4
mov ecx, dword [esp]
mov edx, str._nParseIntError
push 1
call fcn.00416208
pop eax
lea ecx, [esp + 0x2c]
mov edx, esi
call fcn.00436648
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd8]
mov ebx, dword [esp]
mov edx, 0x5ac2c8
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
mov ecx, ebx
push 2
call fcn.00416208
pop eax
mov ecx, ebx
mov ebx, dword [esp + 0x10]
mov edx, edi
push ebx
call fcn.00419663
pop eax
cmp byte [esp + 8], 0
jne 0x434052
mov ecx, edi
mov edx, ebx
call fcn.00435ea3
mov edx, dword [esp + 0x58]
mov ecx, dword [esp]
sub edx, eax
call fcn.00435ed3
cmp dword [esp + 0x18], 0
mov eax, 0x5824fc
je 0x434064
lea eax, [esi + 0xd8]
add ebp, 0x14
add esi, 0xcc
cmp dword [esp + 0x24], 0
mov edx, dword [esp + 0x28]
mov ecx, edi
cmove esi, eax
call fcn.004499b4
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x2c]
xor edx, edx
push dword [esp + 0x44]
push eax
push dword [esp + 0x3c]
push edi
push dword [esi + 8]
push dword [esi]
call fcn.00435f44
add esp, 0x18
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.004499b4
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
add ecx, 0xffffffec
jmp 0x433fb3
add ebp, 0x14
mov eax, dword [esp + 0x14]
sub eax, ebp
push 0x14
pop ecx
xor edx, edx
add ebp, 4
div ecx
mov esi, eax
sub esi, 1
jb 0x4340eb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp]
call fcn.004499b4
add ebp, 0x14
jmp 0x4340d6
mov eax, dword [esp + 0x20]
test eax, eax
je 0x434104
imul eax, eax, 0x14
push 4
pop edx
mov ecx, dword [esp + 0x1c]
push eax
call fcn.0040423b
pop eax
add esp, 0xb8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xc]
mov edx, ecx
push 0x5b0810
jmp 0x434125
mov edx, dword [esp + 0x24]
push 0x5b0820
call fcn.00576a40
pop eax
ud2
lea ecx, [esp + 0x2c]
mov edx, 0x5b08c0
jmp 0x434141
lea ecx, [esp + 0x2c]
mov edx, 0x5b0900
mov dword [ecx], str.Index_out_of_bounds
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
and dword [ecx + 0xc], 0
call fcn.005769a0
ud2
push 0x2c
pop edx
mov ecx, str.assertion_failed:_end___start__end___len0_b_
push 0x5b093c
jmp 0x434180
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x5b08f0
call fcn.00576b20
jmp 0x43412a
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x5b08d0
jmp 0x434180
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x5b08e0
jmp 0x434180