Function at 0x10047a00
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 esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
cmp ecx, eax
jae 0x10047a34
mov byte [esi + 8], 0x13
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], 0
mov dword [esi], 0
jmp 0x10048541
add edx, eax
sub ecx, eax
mov dword [esp + 0x38], 8
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
je 0x1004824f
pxor xmm0, xmm0
mov dword [esp + 8], eax
mov dword [esp + 0x10], esi
xor ebx, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], ecx
nop word cs:[eax + eax]
nop dword [eax]
mov ch, byte [edx + ebx]
mov dword [esp + 0x1c], ebx
xor ebx, ebx
cmp eax, 0x3f
jne 0x10047aa7
cmp ch, 2
jae 0x10048251
mov dh, ch
mov dword [esp + 0x24], edi
xor edi, edi
mov cl, al
mov byte [esp + 0x18], ch
and dh, 0x7f
movzx ebx, dh
mov edx, esi
mov esi, 0
shld edi, ebx, cl
shl ebx, cl
test al, 0x20
cmovne edi, ebx
cmovne ebx, esi
mov esi, edx
or dword [esp + 0x24], edi
or esi, ebx
test ch, ch
mov edi, dword [esp + 0x24]
jns 0x10047af8
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
add eax, 7
inc ebx
cmp ecx, ebx
jne 0x10047a90
jmp 0x1004825c
mov ecx, esi
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], esi
or ecx, edi
mov edi, dword [esp + 0x14]
je 0x100482ce
mov eax, dword [esp + 0x1c]
lea ecx, [ebx - 1]
cmp ecx, eax
je 0x10048321
mov esi, dword [esp + 0xc]
movzx ecx, byte [esi + eax + 1]
mov edx, ecx
and edx, 0x7f
test cl, cl
mov dword [esp + 0x2c], edx
lea edx, [ebx - 2]
mov ebx, 0
js 0x10047b43
sub edx, eax
lea esi, [esi + eax + 2]
jmp 0x10047bba
cmp edx, eax
je 0x10048377
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
movzx edx, byte [ecx + eax + 2]
movzx esi, si
mov dword [esp + 0x18], edx
and edx, 0x7f
shl edx, 7
or esi, edx
mov edx, ecx
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0x18], 0
mov dword [esp + 0x2c], esi
lea esi, [edx + eax + 3]
lea ecx, [ecx - 3]
js 0x10047b85
sub ecx, eax
mov edx, ecx
jmp 0x10047bba
cmp ecx, eax
je 0x10048549
movzx ecx, byte [esi]
cmp cx, 3
ja 0x1004855c
lea esi, [edx + eax + 4]
mov edx, dword [esp + 0x20]
sub edx, eax
movzx eax, cx
mov ecx, dword [esp + 0x2c]
shl eax, 0xe
add edx, 0xfffffffc
movzx ecx, cx
or ecx, eax
mov dword [esp + 0x2c], ecx
cmp word [esp + 0x2c], 0
je 0x10048352
test edx, edx
je 0x1004835d
movzx eax, byte [esi]
cmp al, 2
jae 0x1004836c
inc esi
dec edx
mov byte [esp + 0x33], al
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0
test edx, edx
je 0x100482c6
movzx eax, byte [esi]
mov dword [esp + 8], ecx
lea ecx, [edx - 1]
mov edi, eax
and edi, 0x7f
test al, al
lea eax, [esi + 1]
mov dword [esp + 0x18], edi
jns 0x10047cc6
mov edi, dword [esp + 0x14]
test ecx, ecx
je 0x1004829e
movzx eax, byte [esi + 1]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x18]
mov ecx, eax
movzx edi, di
and ecx, 0x7f
shl ecx, 7
or edi, ecx
mov ecx, edx
test al, al
lea ecx, [edx - 2]
lea eax, [esi + 2]
mov dword [esp + 0x18], edi
js 0x10047f1b
mov edi, dword [esp + 0x14]
cmp word [esp + 0x18], 0
mov dword [esp + 0x14], edi
je 0x10047f61
test ecx, ecx
je 0x1004829e
movzx ebx, byte [eax]
lea edx, [ecx - 1]
mov edi, ecx
mov ecx, eax
lea esi, [ecx + 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
jns 0x10047d60
test edx, edx
mov dword [esp + 0x1c], edi
je 0x100482f7
movzx ebx, byte [ecx + 1]
mov edx, dword [esp + 0x1c]
movzx eax, ax
mov esi, ecx
lea esi, [ecx + 2]
mov edi, ebx
add edx, 0xfffffffe
and edi, 0x7f
shl edi, 7
or eax, edi
test bl, bl
jns 0x10047d60
test edx, edx
je 0x100482f7
movzx edi, byte [esi]
cmp di, 3
ja 0x100483c8
mov edx, dword [esp + 0x1c]
movzx edi, di
add ecx, 3
movzx eax, ax
shl edi, 0xe
mov esi, ecx
or eax, edi
add edx, 0xfffffffd
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ax, 0x21
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], esi
je 0x10047dab
movzx ebx, ax
test ebx, ebx
je 0x10048342
movzx eax, word [esp + 0x18]
mov edi, dword [esp + 0x34]
shl ebx, 0x10
mov ecx, 0xffffffff
xor esi, esi
mov dword [esp + 8], 0
mov dword [esp + 0x1c], 0
and edi, ecx
or ebx, eax
xor ecx, ecx
mov dword [esp + 0x18], ebx
jmp 0x10047eab
test edx, edx
je 0x10048349
xor ebx, ebx
mov dword [esp + 0x1c], 0
xor eax, eax
xor ecx, ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov dh, byte [esi + ebx]
cmp ecx, 0x3f
jne 0x10047de8
movzx edi, dh
cmp edi, 0x7f
je 0x10047de8
test edi, edi
jne 0x10048295
mov dword [esp + 8], edx
mov esi, 0
mov edx, dword [esp + 8]
mov dl, dh
and dl, 0x7f
movzx edi, dl
xor edx, edx
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmovne edi, esi
or eax, edx
mov edx, dword [esp + 8]
or dword [esp + 0x1c], edi
test dh, dh
jns 0x10047e30
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
inc ebx
add ecx, 7
cmp edx, ebx
jne 0x10047dd0
jmp 0x10048273
add ecx, 7
mov edi, 0xffffffff
cmp ecx, 0x40
setl byte [esp + 0x14]
and dh, 0x40
shl edi, cl
shr dh, 6
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, edi
cmovne edi, esi
test byte [esp + 0x14], dh
mov edx, 0xffffffff
cmove ecx, esi
cmove edi, esi
movzx esi, word [esp + 0x18]
or eax, ecx
mov ecx, dword [esp + 0x1c]
or esi, 0x210000
or ecx, edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
shrd ecx, eax, 0x10
shr eax, 0x10
mov esi, eax
mov eax, dword [esp + 0x1c]
and edi, edx
mov edx, dword [esp + 0xc]
mov al, ah
mov dword [esp + 8], eax
lea edx, [edx + ebx + 1]
not ebx
add dword [esp + 0x20], ebx
mov dword [esp + 0xc], edx
mov eax, ecx
mov edx, ecx
movzx ecx, byte [esp + 8]
mov ebx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], edi
shl eax, 0x10
shld ebx, edx, 0x10
mov dword [esp + 0x28], edx
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x18]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x1c]
or eax, ecx
mov dword [esp + 0x138], eax
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], edi
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.1008eba0
add esp, 8
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
jmp 0x10047c6b
test ecx, ecx
je 0x10048388
movzx eax, byte [eax]
mov edi, dword [esp + 0x14]
cmp ax, 3
ja 0x100483ad
mov ecx, dword [esp + 0x18]
movzx eax, ax
add esi, 3
add edx, 0xfffffffd
shl eax, 0xe
movzx ecx, cx
or ecx, eax
mov eax, esi
mov dword [esp + 0x18], ecx
mov ecx, edx
cmp word [esp + 0x18], 0
mov dword [esp + 0x14], edi
jne 0x10047cda
test ecx, ecx
je 0x1004829e
mov dword [esp + 0x18], ebx
movzx ebx, byte [eax]
mov esi, eax
lea edx, [ecx - 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
lea ebx, [esi + 1]
mov dword [esp + 0xc], ebx
js 0x10047f8f
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
jmp 0x10048005
test edx, edx
je 0x100485d3
movzx ebx, byte [esi + 1]
movzx eax, ax
mov edx, esi
lea edx, [esi + 2]
mov dword [esp + 0xc], edx
mov edi, ebx
and edi, 0x7f
shl edi, 7
or eax, edi
mov edi, ecx
lea edi, [ecx - 2]
test bl, bl
mov dword [esp + 0x20], edi
js 0x10047fc8
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x10048005
cmp dword [esp + 0x20], 0
je 0x100485f5
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
movzx edi, byte [edi]
cmp di, 3
ja 0x100483c8
movzx edi, di
movzx eax, ax
add esi, 3
add ecx, 0xfffffffd
shl edi, 0xe
mov dword [esp + 0xc], esi
mov dword [esp + 0x20], ecx
or eax, edi
mov edi, dword [esp + 0x14]
test ax, ax
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 8]
jne 0x1004856f
lea ecx, [esp + 0x78]
movq xmm1, qword [esp + 0x60]
movdqu xmm0, xmmword [esp + 0x68]
movsd xmm3, qword [ecx + 8]
movsd xmm4, qword [ecx + 0x10]
movsd xmm2, qword [ecx]
movd eax, xmm1
movsd qword [esp + 0x100], xmm3
movsd xmm3, qword [ecx + 0x18]
movsd qword [esp + 0x108], xmm4
movsd xmm4, qword [ecx + 0x20]
cmp eax, 2
movsd qword [esp + 0xf8], xmm2
movsd qword [esp + 0x110], xmm3
movsd xmm3, qword [ecx + 0x28]
movsd qword [esp + 0x118], xmm4
movsd xmm4, qword [ecx + 0x30]
movsd qword [esp + 0x120], xmm3
movsd xmm3, qword [ecx + 0x38]
movsd qword [esp + 0x128], xmm4
movsd qword [esp + 0x130], xmm3
je 0x10048576
movsd xmm3, qword [esp + 0x128]
lea eax, [esp + 0x150]
movsd xmm4, qword [esp + 0x120]
movq xmm2, qword [esp + 0x130]
movsd qword [eax + 0x30], xmm3
movsd xmm3, qword [esp + 0x118]
movsd qword [eax + 0x28], xmm4
movsd xmm4, qword [esp + 0x110]
movq qword [eax + 0x38], xmm2
movsd qword [eax + 0x20], xmm3
movsd xmm3, qword [esp + 0x108]
movsd qword [eax + 0x18], xmm4
movsd xmm4, qword [esp + 0xf8]
movsd qword [eax + 0x10], xmm3
movq xmm3, qword [esp + 0x100]
movsd qword [eax], xmm4
movq qword [eax + 8], xmm3
movq qword [esp + 0x138], xmm1
movdqu xmmword [esp + 0x140], xmm0
movzx eax, byte [esp + 0x33]
lea ecx, [esp + 0x138]
push ecx
push eax
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x60]
lea eax, [esp + 0x74]
push eax
call fcn.1008eb20
add esp, 0x18
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x74]
mov ecx, edx
mov dword [esp + 0x1c], edx
mov esi, edi
mov dword [esp + 8], edi
lea esi, [esp + 0x78]
shld ecx, edi, 0x10
mov dword [esp + 0x28], ecx
mov ecx, edx
lea edx, [esp + 0x248]
shr ecx, 0x10
mov edi, edx
cmp eax, 3
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x24], ecx
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
je 0x100485ab
mov dword [esp + 0x18], ebx
lea ebx, [esp + 0x1f8]
mov ecx, 0x14
mov esi, edx
cmp eax, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
je 0x100482ce
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x2c]
mov ecx, 0x14
lea edi, [esp + 0x1a8]
mov esi, ebx
mov dword [esp + 0x194], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1a4], eax
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x190]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1008dcf0
add esp, 8
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
test al, al
pxor xmm0, xmm0
jne 0x100485ca
mov edx, dword [esp + 0xc]
test ecx, ecx
jne 0x10047a72
jmp 0x10048266
jmp 0x10048266
mov esi, dword [esp + 0x10]
mov cl, 6
jmp 0x1004840f
mov esi, dword [esp + 0x10]
mov ah, byte [esp + 0x18]
add edx, ecx
mov dword [esp + 0xc], edx
mov cl, 0x13
xor ebx, ebx
jmp 0x1004840f
add esi, edx
xor ebx, ebx
mov cl, 0x13
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407
xor ebx, ebx
mov cl, 7
jmp 0x100483d2
mov edx, eax
mov eax, dword [esp + 8]
xor ebx, ebx
mov cl, 0x13
mov esi, dword [esp + 0x10]
mov ah, al
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407
mov ah, cl
xor ebx, ebx
mov cl, 0x13
jmp 0x10048301
movq xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x10]
movq xmm2, qword [esp + 0x38]
movq xmm1, qword [esp + 0x40]
movq qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm1
movq qword [eax], xmm2
jmp 0x10048541
mov eax, dword [esp + 8]
xor ebx, ebx
mov cl, 0x13
mov ah, al
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
xor ebx, ebx
lea ecx, [ecx + eax + 1]
mov eax, dword [esp + 8]
mov dword [esp + 0xc], ecx
mov cl, 0x13
jmp 0x1004840f
mov cl, 9
jmp 0x100483cc
mov dword [esp + 8], eax
jmp 0x10048275
mov esi, dword [esp + 0x10]
mov cl, 8
jmp 0x10048407
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x10]
mov cl, 0x13
jmp 0x10048407
mov esi, dword [esp + 0x10]
mov cl, 0xa
jmp 0x10048407
mov ecx, dword [esp + 0xc]
lea ecx, [ecx + eax + 2]
mov dword [esp + 0xc], ecx
jmp 0x10048551
mov edx, eax
mov eax, dword [esp + 8]
xor ebx, ebx
mov cl, 0x13
mov dword [esp + 0xc], edx
mov ah, al
mov dword [esp + 8], eax
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov cl, 6
mov ah, al
mov dword [esp + 8], eax
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407
xor ebx, ebx
mov cl, 6
mov eax, dword [esp + 8]
mov ah, al
mov dword [esp + 8], eax
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x60], 0
je 0x10048407
mov eax, dword [esp + 0x68]
test eax, eax
je 0x10048407
shl eax, 4
push 8
push eax
push dword [esp + 0x6c]
mov dword [esp + 0x30], ecx
call fcn.10004680
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 8]
movzx eax, ah
movzx ecx, cl
shld edi, edx, 0x10
shl edx, 0x10
shl eax, 8
or ecx, eax
or ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0xc]
mov dword [esi + 0xc], edi
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], ecx
mov edi, dword [esp + 0x40]
mov dword [esi], 0
mov esi, dword [esp + 0x38]
test edi, edi
je 0x10048475
lea ebx, [esi + 8]
jmp 0x10048456
add ebx, 0x68
dec edi
je 0x10048475
cmp dword [ebx - 8], 0
je 0x10048450
mov eax, dword [ebx]
test eax, eax
je 0x10048450
shl eax, 4
push 8
push eax
push dword [ebx - 4]
call fcn.10004680
add esp, 0xc
jmp 0x10048450
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1004848c
imul eax, eax, 0x68
push 8
push eax
push esi
call fcn.10004680
add esp, 0xc
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x100484c3
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], ecx
mov ecx, 1
mov dword [esp + 0x7c], edx
jmp 0x100484c7
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x138]
lea edx, [esp + 0x60]
call fcn.1003c4b0
mov eax, dword [esp + 0x138]
test eax, eax
je 0x10048541
lea esi, [esp + 0x138]
lea edi, [esp + 0x60]
jmp 0x10048514
mov ecx, esi
mov edx, edi
call fcn.1003c4b0
mov eax, dword [esp + 0x138]
test eax, eax
je 0x10048541
imul ecx, dword [esp + 0x140], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x10048500
lea eax, [eax + ecx + 0x58]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10048500
shl ecx, 4
push 8
push ecx
push dword [eax + 4]
call fcn.10004680
add esp, 0xc
jmp 0x10048500
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [edx + eax + 3]
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x10]
mov cl, 0x13
jmp 0x10048407
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 8]
mov cl, 6
jmp 0x1004840f
mov cl, 0xd
jmp 0x100482a8
mov esi, dword [esp + 0x10]
movd ecx, xmm0
pshufd xmm2, xmm0, 0x55
pshufd xmm1, xmm0, 0xee
pshufd xmm3, xmm0, 0xff
movd edi, xmm2
mov edx, ecx
movd dword [esp + 0xc], xmm1
movd ebx, xmm3
mov ah, ch
shrd edx, edi, 0x10
shr edi, 0x10
jmp 0x1004840f
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
mov ecx, eax
jmp 0x1004840f
mov byte [esi + 8], 0xe
jmp 0x10048433
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov cl, 0x13
mov ah, al
mov dword [esp + 8], eax
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407
mov eax, dword [esp + 8]
xor ebx, ebx
mov cl, 0x13
mov ah, al
mov dword [esp + 8], eax
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x60], 0
jne 0x100483e5
jmp 0x10048407