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

Disassembly:
sub esp, 0x128
mov eax, dword [0x100d92b4]
xor eax, esp
mov dword [esp + 0x124], eax
xor eax, eax
mov byte [esp + 0x10], 0
push ebx
push ebp
mov ebp, dword [esp + 0x134]
push esi
push edi
mov word [esp + 0x21], ax
mov byte [esp + 0x23], al
mov word [esp + 0x24], ax
mov byte [esp + 0x26], al
mov word [esp + 0x27], ax
mov byte [esp + 0x29], al
mov word [esp + 0x2a], ax
mov byte [esp + 0x2c], al
mov word [esp + 0x2d], ax
mov byte [esp + 0x2f], al
mov word [esp + 0x30], ax
mov byte [esp + 0x32], al
mov word [esp + 0x33], ax
mov byte [esp + 0x35], al
mov word [esp + 0x36], ax
mov byte [esp + 0x38], al
mov word [esp + 0x39], ax
mov byte [esp + 0x3b], al
mov word [esp + 0x3c], ax
mov byte [esp + 0x3e], al
mov word [esp + 0x3f], ax
mov byte [esp + 0x41], al
mov word [esp + 0x42], ax
mov byte [esp + 0x44], al
mov word [esp + 0x45], ax
mov byte [esp + 0x47], al
mov word [esp + 0x48], ax
mov byte [esp + 0x4a], al
mov word [esp + 0x4b], ax
mov byte [esp + 0x4d], al
mov word [esp + 0x4e], ax
mov byte [esp + 0x50], al
mov word [esp + 0x51], ax
mov byte [esp + 0x53], al
mov word [esp + 0x54], ax
mov byte [esp + 0x56], al
mov word [esp + 0x57], ax
mov byte [esp + 0x59], al
mov word [esp + 0x5a], ax
mov byte [esp + 0x5c], al
mov word [esp + 0x5d], ax
mov byte [esp + 0x5f], al
mov word [esp + 0x60], ax
mov byte [esp + 0x62], al
mov word [esp + 0x63], ax
mov byte [esp + 0x65], al
mov word [esp + 0x66], ax
mov byte [esp + 0x68], al
mov word [esp + 0x69], ax
mov byte [esp + 0x6b], al
mov word [esp + 0x6c], ax
mov byte [esp + 0x6e], al
mov word [esp + 0x6f], ax
mov byte [esp + 0x71], al
mov word [esp + 0x72], ax
mov byte [esp + 0x74], al
mov word [esp + 0x75], ax
mov byte [esp + 0x77], al
mov word [esp + 0x78], ax
mov byte [esp + 0x7a], al
mov word [esp + 0x7b], ax
mov byte [esp + 0x7d], al
mov word [esp + 0x7e], ax
mov byte [esp + 0x80], al
mov word [esp + 0x81], ax
mov byte [esp + 0x83], al
mov word [esp + 0x84], ax
mov byte [esp + 0x86], al
mov word [esp + 0x87], ax
mov byte [esp + 0x89], al
mov word [esp + 0x8a], ax
mov byte [esp + 0x8c], al
mov word [esp + 0x8d], ax
mov byte [esp + 0x8f], al
mov word [esp + 0x90], ax
mov byte [esp + 0x92], al
mov word [esp + 0x93], ax
mov byte [esp + 0x95], al
mov word [esp + 0x96], ax
mov byte [esp + 0x98], al
mov word [esp + 0x99], ax
mov byte [esp + 0x9b], al
mov word [esp + 0x9c], ax
mov byte [esp + 0x9e], al
mov word [esp + 0x9f], ax
mov byte [esp + 0xa1], al
mov word [esp + 0xa2], ax
mov byte [esp + 0xa4], al
mov word [esp + 0xa5], ax
mov byte [esp + 0xa7], al
mov word [esp + 0xa8], ax
mov byte [esp + 0xaa], al
mov word [esp + 0xab], ax
mov byte [esp + 0xad], al
mov word [esp + 0xae], ax
mov word [esp + 0xb1], ax
mov word [esp + 0xb4], ax
mov byte [esp + 0xb6], al
mov word [esp + 0xb7], ax
mov byte [esp + 0xb9], al
mov word [esp + 0xba], ax
mov byte [esp + 0xbc], al
mov word [esp + 0xbd], ax
mov byte [esp + 0xbf], al
mov word [esp + 0xc0], ax
mov byte [esp + 0xc2], al
mov word [esp + 0xc3], ax
mov byte [esp + 0xc5], al
mov word [esp + 0xc6], ax
mov byte [esp + 0xc8], al
mov word [esp + 0xc9], ax
mov byte [esp + 0xcb], al
mov word [esp + 0xcc], ax
mov byte [esp + 0xce], al
mov word [esp + 0xcf], ax
mov byte [esp + 0xd1], al
mov word [esp + 0xd2], ax
mov byte [esp + 0xd4], al
mov word [esp + 0xd5], ax
mov byte [esp + 0xd7], al
mov word [esp + 0xd8], ax
mov byte [esp + 0xda], al
mov word [esp + 0xdb], ax
mov byte [esp + 0xdd], al
mov word [esp + 0xde], ax
mov byte [esp + 0xe0], al
mov word [esp + 0xe1], ax
mov byte [esp + 0xe3], al
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0xffff00ff
mov byte [esp + 0xec], al
mov word [esp + 0xed], ax
mov byte [esp + 0xef], al
mov word [esp + 0xf0], ax
mov byte [esp + 0xf2], al
mov dword [esp + 0xf3], 0xff000000
mov dword [esp + 0xf7], eax
mov byte [esp + 0xfb], al
mov word [esp + 0xfc], ax
mov byte [esp + 0xfe], al
mov dword [esp + 0xff], eax
mov dword [esp + 0x103], eax
mov word [esp + 0x107], 0xff
mov dword [esp + 0x109], 0xff
mov byte [esp + 0x10d], al
mov word [esp + 0x10e], ax
mov byte [esp + 0x110], al
mov word [esp + 0x111], ax
mov byte [esp + 0x113], al
mov dword [esp + 0x114], 0xff0000
mov dword [esp + 0x118], eax
mov byte [esp + 0x11c], al
mov word [esp + 0x11d], ax
mov byte [esp + 0x11f], al
mov word [esp + 0x120], ax
mov byte [esp + 0x122], al
lea esi, [ebp + 0x1c]
mov dword [esp + 0x12d], eax
mov eax, dword [ebp + 0x76a0]
mov dword [esp + 0x123], 0xffff0000
mov dword [esp + 0x127], 0xff
mov word [esp + 0x12b], 0xffff
lea eax, [eax + eax*2]
mov dword [esp + 0x14], eax
movzx eax, byte [esi]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x1d]
mov ebx, eax
push ecx
shl bl, 4
call fcn.1003eb60
add al, bl
mov byte [esp + 0xbb], al
movzx eax, byte [ebp + 0x1e]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x1f]
mov ebx, eax
push ecx
shl bl, 4
call fcn.1003eb60
add al, bl
mov byte [esp + 0xc4], al
movzx eax, byte [ebp + 0x20]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x21]
mov ebx, eax
push ecx
shl bl, 4
call fcn.1003eb60
add al, bl
lea edi, [ebp + 0x26]
mov byte [esp + 0xcd], al
movzx eax, byte [edi]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x27]
mov ebx, eax
push ecx
shl bl, 4
call fcn.1003eb60
add al, bl
mov byte [esp + 0xd0], al
movzx eax, byte [ebp + 0x28]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x29]
mov ebx, eax
push ecx
shl bl, 4
call fcn.1003eb60
add al, bl
mov byte [esp + 0xd9], al
movzx eax, byte [ebp + 0x2a]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x2b]
mov ebx, eax
push ecx
shl bl, 4
call fcn.1003eb60
add esp, 0x30
lea ecx, [esi + 1]
add al, bl
mov byte [esp + 0xb2], al
mov al, byte [esi]
inc esi
test al, al
jne 0x10048d22
sub esi, ecx
cmp esi, 6
jbe 0x10048d59
movzx eax, byte [ebp + 0x22]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x23]
mov esi, eax
push ecx
shl esi, 4
call fcn.1003eb60
add esp, 8
mov ebx, 1
add eax, esi
mov dword [esp + 0x18], eax
jmp 0x10048d63
mov dword [esp + 0x18], 0xff
xor ebx, ebx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10048d66
sub edi, ecx
cmp edi, 6
jbe 0x10048d9d
movzx eax, byte [ebp + 0x2c]
push eax
call fcn.1003eb60
movzx ecx, byte [ebp + 0x2d]
mov esi, eax
push ecx
shl esi, 4
call fcn.1003eb60
add esp, 8
mov ebx, 1
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x10048da5
mov dword [esp + 0x1c], 0xff
mov eax, dword [ebp + 0x769c]
test eax, eax
je 0x10048dc2
push eax
call fcn.1005b966
add esp, 4
mov dword [ebp + 0x769c], 0
mov eax, dword [ebp + 0x76a8]
test eax, eax
je 0x10048ddf
push eax
call fcn.1005b966
add esp, 4
mov dword [ebp + 0x76a8], 0
mov eax, dword [ebp + 0x76a4]
imul eax, dword [esp + 0x14]
push eax
call fcn.1005b981
add esp, 4
mov dword [ebp + 0x769c], eax
test eax, eax
jne 0x10048e4b
movups xmm0, xmmword [str.661:_Insufficient_memory_for_bitmap_buffer]
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x100c172c]
movups xmmword [ebp + 0x7648], xmm0
movq xmm0, qword [0x100c173c]
movq qword [ebp + 0x7658], xmm0
mov ax, word [0x100c1744]
mov word [ebp + 0x7660], ax
mov al, byte [0x100c1746]
mov byte [ebp + 0x7662], al
mov eax, 0xb
jmp 0x100490e8
test ebx, ebx
je 0x10048ffb
mov eax, dword [ebp + 0x76a0]
imul eax, dword [ebp + 0x76a4]
push eax
call fcn.1005b981
add esp, 4
mov dword [ebp + 0x76a8], eax
test eax, eax
jne 0x10048ebf
movups xmm0, xmmword [str.662:_Insufficient_memory_for_alphamap_buffer]
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x100c1758]
movups xmmword [ebp + 0x7648], xmm0
movq xmm0, qword [0x100c1768]
movq qword [ebp + 0x7658], xmm0
mov eax, dword [0x100c1770]
mov dword [ebp + 0x7660], eax
mov al, byte [0x100c1774]
mov byte [ebp + 0x7664], al
mov eax, 0xb
jmp 0x100490e8
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebp + 0x76a4], eax
jle 0x100490e6
nop dword [eax]
nop word [eax + eax]
mov ebx, dword [esp + 0x140]
mov esi, eax
imul esi, dword [ebp + 0x76a0]
lea edx, [esi + esi*2]
add edx, dword [ebp + 0x769c]
lea edi, [esi + ebx]
test eax, eax
je 0x10048f95
mov eax, dword [ebp + 0x76a0]
mov ecx, edi
mov ebx, eax
sub ecx, eax
sub ebx, 4
jb 0x10048f26
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x10048f2b
add edi, 4
add ecx, 4
sub ebx, 4
jae 0x10048f15
cmp ebx, 0xfffffffc
je 0x10048f58
mov al, byte [edi]
cmp al, byte [ecx]
jne 0x10048f8a
cmp ebx, 0xfffffffd
je 0x10048f58
mov al, byte [edi + 1]
cmp al, byte [ecx + 1]
jne 0x10048f8a
cmp ebx, 0xfffffffe
je 0x10048f58
mov al, byte [edi + 2]
cmp al, byte [ecx + 2]
jne 0x10048f8a
cmp ebx, 0xffffffff
je 0x10048f58
mov al, byte [edi + 3]
cmp al, byte [ecx + 3]
jne 0x10048f8a
mov ecx, dword [esp + 0x14]
mov eax, edx
push ecx
sub eax, ecx
push eax
push edx
call fcn.10058800
mov ecx, dword [ebp + 0x76a0]
mov eax, esi
mov edx, dword [ebp + 0x76a8]
sub eax, ecx
push ecx
add eax, edx
push eax
lea eax, [esi + edx]
push eax
call fcn.10058800
add esp, 0x18
jmp 0x10048fe1
mov ebx, dword [esp + 0x140]
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0x76a0]
add edi, esi
cmp esi, edi
jge 0x10048fe5
movzx ecx, byte [esi + ebx]
lea eax, [esp + 0x20]
add eax, ecx
lea edx, [edx + 3]
lea ecx, [eax + ecx*2]
mov ax, word [ecx]
mov word [edx - 3], ax
mov al, byte [ecx + 2]
mov byte [edx - 1], al
mov eax, dword [esp + 0x18]
cmp byte [esi + ebx], 0x30
movzx ecx, al
mov eax, dword [esp + 0x1c]
movzx eax, al
cmove ecx, eax
mov eax, dword [ebp + 0x76a8]
mov byte [esi + eax], cl
inc esi
cmp esi, edi
jl 0x10048fa1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [ebp + 0x76a4]
jl 0x10048ee0
jmp 0x100490e6
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebp + 0x76a4], ecx
jle 0x100490e6
nop dword [eax]
mov esi, dword [esp + 0x140]
mov eax, ecx
imul eax, dword [ebp + 0x76a0]
add esi, eax
lea edx, [eax + eax*2]
add edx, dword [ebp + 0x769c]
test ecx, ecx
je 0x1004909e
mov eax, dword [ebp + 0x76a0]
mov ecx, esi
mov ebx, eax
sub ecx, eax
mov edi, esi
sub ebx, 4
jb 0x10049053
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x10049058
add edi, 4
add ecx, 4
sub ebx, 4
jae 0x10049042
cmp ebx, 0xfffffffc
je 0x10049085
mov al, byte [edi]
cmp al, byte [ecx]
jne 0x1004909a
cmp ebx, 0xfffffffd
je 0x10049085
mov al, byte [edi + 1]
cmp al, byte [ecx + 1]
jne 0x1004909a
cmp ebx, 0xfffffffe
je 0x10049085
mov al, byte [edi + 2]
cmp al, byte [ecx + 2]
jne 0x1004909a
cmp ebx, 0xffffffff
je 0x10049085
mov al, byte [edi + 3]
cmp al, byte [ecx + 3]
jne 0x1004909a
mov ecx, dword [esp + 0x14]
mov eax, edx
push ecx
sub eax, ecx
push eax
push edx
call fcn.10058800
add esp, 0xc
jmp 0x100490d1
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x76a0]
add edi, esi
cmp esi, edi
jae 0x100490d5
nop word [eax + eax]
movzx ecx, byte [esi]
lea eax, [esp + 0x20]
add eax, ecx
lea edx, [edx + 3]
inc esi
lea ecx, [eax + ecx*2]
mov ax, word [ecx]
mov word [edx - 3], ax
mov al, byte [ecx + 2]
mov byte [edx - 1], al
cmp esi, edi
jb 0x100490b0
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [ebp + 0x76a4]
jl 0x10049010
xor eax, eax
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10057052
add esp, 0x128
ret