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

Disassembly:
mov eax, dword [esp + 0x18]
sub esp, 0x48
push ebx
push ebp
mov ebp, dword [esp + 0x54]
mov edx, dword [ebp + 4]
push esi
lea ecx, [eax + 3]
cmp ecx, edx
push edi
lea edi, [eax + 4]
jge 0x109b1cac
mov edx, dword [ebp]
add eax, edx
movzx edx, byte [eax + 2]
xor ecx, ecx
mov ch, byte [eax]
mov cl, byte [eax + 1]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, edx
shl ecx, 8
or eax, ecx
cmp eax, 0x53555246
jne 0x109b1cac
mov ecx, dword [0x10f43370]
push str.Processing_PTAG_SURF_polygon_surface_mapping.
push 0x308
push ecx
call fcn.109baec0
mov eax, dword [esp + 0x78]
add eax, 0xfffffffc
cdq
and edx, 3
add eax, edx
sar eax, 2
add esp, 0xc
test eax, eax
jle 0x109b1cac
mov ebx, eax
lea esp, [esp]
mov edx, dword [ebp + 4]
mov eax, edi
lea ecx, [eax + 1]
add edi, 2
cmp ecx, edx
jge 0x109b1add
mov ecx, dword [ebp]
add eax, ecx
movzx cx, byte [eax + 1]
mov ch, byte [eax]
jmp 0x109b1adf
xor ecx, ecx
mov eax, edi
lea esi, [eax + 1]
add edi, 2
cmp esi, edx
jge 0x109b1afb
mov edx, dword [ebp]
add eax, edx
movzx dx, byte [eax + 1]
mov dh, byte [eax]
mov eax, edx
jmp 0x109b1afd
xor eax, eax
movzx esi, cx
mov ecx, dword [esp + 0x60]
imul esi, esi, 0x148
add esi, dword [ecx]
mov edx, dword [esp + 0x64]
mov ecx, dword [edx]
movzx eax, ax
shl eax, 2
mov edx, dword [eax + ecx]
mov ecx, dword [esp + 0x68]
mov dword [esi + 0xf0], edx
mov edx, dword [ecx]
mov eax, dword [eax + edx]
lea ecx, [esi + 0x11c]
mov edx, dword [ecx]
mov dword [esp + 0x28], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
lea edx, [esi + 0x128]
mov ecx, dword [edx]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
lea ecx, [esi + 0x134]
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xf8], eax
mov dword [esp + 0x14], edx
mov edx, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, eax
call dword [edx + 0x80]
mov ecx, dword [esi + 0xf8]
mov dword [esp + 0x70], eax
mov eax, dword [ecx]
call dword [eax + 0x84]
fild dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
fld dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
fmul st(1)
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
lea ecx, [esi + 0x24]
fstp dword [esp + 0x34]
push ecx
fild dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
fld dword [esp + 0x18]
mov dword [esp + 0x4c], edx
lea edx, [esi + 0x18]
fmul st(1)
push edx
push esi
mov dword [esp + 0x60], eax
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
fld st(1)
sub esp, 0xc
fmul dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
fstp dword [esp + 0x58]
mov dword [eax + 4], edx
fld dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x5c]
fxch st(1)
fmul dword [esp + 0x40]
fstp dword [esp + 0x64]
fmul dword [esp + 0x44]
fstp dword [esp + 0x68]
mov dword [eax + 8], ecx
lea edx, [esi + 0x48]
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x68]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea edx, [esi + 0x3c]
mov ecx, dword [edx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x8c]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
add esi, 0x30
mov eax, dword [esi]
mov ecx, dword [esi + 4]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [esi + 8]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
call fcn.10923fa0
add esp, 0x54
dec ebx
jne 0x109b1ac0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret