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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov edi, edx
mov dword [esp + 8], ecx
mov dword [esp + 0x78], 2
and dword [esp + 0x88], 0
lea eax, [edx + 0x70]
mov dword [esp + 0xc], eax
lea eax, [edx + 0xa8]
mov dword [esp + 4], eax
lea eax, [edx + 0x74]
mov dword [esp + 0x40], eax
lea eax, [edx + 0x78]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc]
mov esi, dword [ebx]
lea eax, [esi - 3]
cmp eax, 2
jae 0x4832f4
mov edx, dword [edi + 0xbc]
mov eax, dword [edi + 0xac]
mov ecx, dword [edi + 0xb8]
cmp ecx, eax
sbb edx, 0
jae 0x483303
cmp eax, ecx
je 0x483303
jmp 0x4834d3
mov ecx, ebx
call fcn.0047a6ab
test al, al
jne 0x4835db
and dword [edi + 0xbc], 0
and dword [edi + 0xb8], 0
and dword [edi + 0xac], 0
mov dword [edi + 0x70], 4
cmp esi, 3
jne 0x4837cf
mov eax, dword [esp + 0x40]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [edi + 0x84]
mov eax, dword [edi + 0xc0]
add eax, 9
mov ecx, dword [esp + 4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov word [esp + 0x5c], 0x904
mov dword [esp + 0x4c], edx
mov dword [esp + 0x58], edx
lea ecx, [esp + 0x58]
lea edi, [esp + 0x18]
mov edx, edi
call fcn.00431214
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x28]
mov ebx, esi
not ebx
cmp ebx, ecx
cmovae ebx, ecx
cmp eax, ebx
mov dword [esp + 0x14], eax
jbe 0x4833e1
lea edi, [esp + 0x90]
mov ecx, edi
lea edx, [esp + 0x20]
push ebx
call fcn.00417df4
pop eax
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x18]
push dword [esp + 0x98]
call fcn.0042da0e
pop eax
push edi
call fcn.00440425
pop eax
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x24]
movsd xmm0, qword [eax]
movsd qword [esp + 0x90], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x98], eax
jmp 0x4833f0
mov edx, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.0042da0e
pop eax
xor edx, edx
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 4]
mov ecx, edi
sub ecx, esi
bswap ecx
mov dword [esp + 0x54], ecx
and dword [esp + 0x50], 0
xor ecx, ecx
mov esi, edx
cmp ecx, 5
je 0x48341e
cmp byte [esp + ecx + 0x50], 0
lea ecx, [ecx + 1]
je 0x48340a
jmp 0x483904
xor ecx, ecx
push 3
pop edx
push 0x526da4
push edi
push dword [eax]
call fcn.004314ea
add esp, 0xc
mov ecx, eax
push 0x526db4
push 3
lea eax, [esp + 0x5d]
push eax
call fcn.004c0af1
add esp, 0xc
test esi, esi
mov edi, dword [esp + 0x48]
je 0x483467
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
cmp edx, 4
jbe 0x4838cb
mov eax, dword [eax]
add byte [eax + 4], 0xfc
mov eax, dword [esp + 0x98]
mov dword [esp + 0x68], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x60], xmm0
cmp dword [esp + 0x14], ebx
ja 0x483492
lea eax, [esp + 0x20]
push eax
call fcn.00440425
pop eax
test esi, esi
mov ebx, dword [esp + 0xc]
je 0x4832c8
mov ecx, ebx
call fcn.004831b6
mov dword [edi + 0x70], 3
mov dword [edi + 0x74], esi
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x44]
mov dword [ecx + 8], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x84], eax
jmp 0x4832c8
mov edx, dword [edi + 0xbc]
mov eax, dword [edi + 0xac]
mov ecx, dword [edi + 0xb8]
xor ebx, ebx
cmp ecx, eax
sbb edx, 0
jae 0x4832c0
cmp eax, ecx
je 0x4832c0
mov eax, dword [edi + 0xd4]
push dword [edi + 0xd0]
call dword [eax + 0x20]
add esp, 4
test al, al
je 0x48352d
xor eax, eax
cmp eax, 0x40
je 0x483573
and dword [esp + eax*8 + 0x90], 0
mov dword [esp + eax*8 + 0x94], str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
inc eax
jmp 0x483512
mov ecx, dword [esp + 4]
call fcn.00481db1
mov ecx, dword [edi + 0xd4]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xd0]
lea eax, [esp + 0xa0]
push eax
call dword [ecx + 0x10]
add esp, 0x14
cmp byte [esp + 0x90], 5
je 0x4838db
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
jmp 0x4835c3
mov ecx, dword [esp + 4]
lea esi, [esp + 0x90]
mov edx, esi
call fcn.00481e17
mov ecx, esi
mov edx, eax
push 0x53f180
call fcn.00481e43
pop ecx
mov ecx, dword [edi + 0xd4]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xd0]
lea eax, [esp + 0x30]
push eax
call dword [ecx + 0x1c]
add esp, 0x14
cmp byte [esp + 0x20], 5
je 0x4838db
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
cmp al, 4
jne 0x4838e3
mov ecx, dword [esp + 4]
mov edx, ebx
call fcn.00481ddc
jmp 0x4832c0
mov eax, dword [edi + 0xb8]
mov ecx, dword [edi + 0xac]
mov esi, eax
sub esi, ecx
neg esi
xor edx, edx
cmp eax, ecx
mov eax, dword [edi + 0xbc]
sbb eax, 0
cmovae esi, edx
mov ecx, ebx
call fcn.004a578b
mov ebx, eax
xor ecx, ecx
add ebx, esi
mov esi, 0
setae cl
mov edx, 0x53fa38
call fcn.00481e7e
test ebx, ebx
mov ebx, dword [esp + 0x10]
je 0x4832bc
mov eax, dword [edi + 0xd4]
push dword [edi + 0xd0]
call dword [eax + 0x20]
add esp, 4
test al, al
je 0x48365b
xor eax, eax
cmp eax, 0x40
je 0x48368e
and dword [esp + eax*8 + 0x90], 0
mov dword [esp + eax*8 + 0x94], str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
inc eax
jmp 0x483640
mov edx, dword [edi + 0xbc]
mov eax, dword [edi + 0xac]
mov ecx, dword [edi + 0xb8]
cmp ecx, eax
sbb edx, 0
jae 0x483727
cmp eax, ecx
je 0x483727
mov ecx, dword [esp + 4]
call fcn.00481db1
jmp 0x483730
mov ecx, dword [esp + 4]
lea esi, [esp + 0x90]
mov edx, esi
call fcn.00481e17
mov ecx, esi
mov esi, eax
push 0x40
pop edx
push 0x53fa28
push eax
call fcn.00481e5e
pop ecx
pop ecx
xor ebx, ebx
test edx, edx
je 0x4836e0
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
call fcn.004a578b
test eax, eax
je 0x4836e0
mov ecx, dword [esp + 0xc]
call fcn.004a57bd
mov ecx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
xor ebx, ebx
inc ebx
add ebx, esi
lea ecx, [esp + 0x90]
mov edx, ebx
push 0x53f180
call fcn.00481e43
pop ecx
mov ecx, dword [edi + 0xd4]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xd0]
lea eax, [esp + 0x30]
push eax
call dword [ecx + 0x1c]
add esp, 0x14
cmp byte [esp + 0x20], 5
je 0x4838a6
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
jmp 0x48376b
mov ecx, dword [esp + 0xc]
call fcn.004a57bd
mov ecx, dword [edi + 0xd4]
push edx
push eax
push dword [ebp + 8]
push dword [edi + 0xd0]
lea eax, [esp + 0xa0]
push eax
call dword [ecx + 0x10]
add esp, 0x14
cmp byte [esp + 0x90], 5
je 0x4838a6
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
cmp al, 4
jne 0x4838ae
mov eax, dword [edi + 0xac]
mov ecx, dword [edi + 0xb8]
mov edx, ecx
sub edx, eax
mov esi, dword [edi + 0xbc]
sbb esi, 0
mov esi, ebx
jae 0x4837a7
mov ebx, esi
cmp eax, ecx
je 0x4837a7
neg edx
mov ebx, esi
sub ebx, edx
jbe 0x4837bb
mov ecx, dword [esp + 4]
call fcn.00481ddc
mov ecx, dword [esp + 0xc]
mov edx, ebx
call fcn.0047a6b6
mov ebx, dword [esp + 0x10]
jmp 0x4832bc
mov ecx, dword [esp + 4]
mov edx, esi
call fcn.00481ddc
mov ebx, dword [esp + 0x10]
jmp 0x4832bc
cmp esi, 4
je 0x483838
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x30], eax
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [edi + 0x88]
movups xmm1, xmmword [edi + 0x98]
movaps xmmword [esp + 0xa0], xmm1
movaps xmmword [esp + 0x90], xmm0
lea ecx, [edi + 0x38]
call fcn.004831ac
mov dword [edi + 0x38], esi
movaps xmm0, xmmword [esp + 0x20]
movups xmmword [edi + 0x3c], xmm0
mov eax, dword [esp + 0x30]
mov dword [edi + 0x4c], eax
movaps xmm0, xmmword [esp + 0x90]
movaps xmm1, xmmword [esp + 0xa0]
movups xmmword [edi + 0x50], xmm0
movups xmmword [edi + 0x60], xmm1
mov eax, dword [edi + 0xd4]
push dword [ebp + 8]
push dword [edi + 0xd0]
lea ecx, [esp + 0x98]
push ecx
call dword [eax + 0x14]
add esp, 0xc
cmp byte [esp + 0x90], 5
jne 0x483868
mov eax, dword [esp + 8]
mov byte [eax], 5
jmp 0x48388c
mov eax, dword [esp + 0x90]
cmp al, 4
jne 0x48387c
mov eax, dword [esp + 8]
mov byte [eax], 4
jmp 0x48388c
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
lea esi, [esp + 0x70]
mov ecx, esi
call fcn.0047952c
mov ecx, esi
call fcn.0047953d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 5
mov edx, dword [esp + 0x3c]
jmp 0x4838b6
mov ecx, eax
shrd ecx, ebx, 8
mov edx, ebx
cmp al, 5
je 0x48385f
shl ecx, 8
movzx eax, al
or eax, ecx
mov ecx, dword [esp + 8]
mov dword [ecx + 4], edx
jmp 0x483900
push 4
pop ecx
push 0x526dc4
call fcn.00506bf0
pop eax
ud2
mov al, 5
mov ebx, dword [esp + 0x10]
jmp 0x4838e9
mov ecx, eax
shrd ecx, ebx, 8
cmp al, 5
je 0x48385f
shl ecx, 8
movzx eax, al
or eax, ecx
mov ecx, dword [esp + 8]
mov dword [ecx + 4], ebx
mov dword [ecx], eax
jmp 0x48388c
push 0x3e
pop edx
mov ecx, str.assertion_failed:_payload_len_be_0..5_.iter__.all_b_b__0_
push 0x526d94
call fcn.00506cd0
jmp 0x4838d8