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

Disassembly:
push ebp
mov ebp, esp
mov ax, word [0x6f2d6c]
sub esp, 0x2c
push ebx
mov ebx, ecx
push esi
push edi
cmp ax, 1
je 0x47f359
cmp ax, 0xf
je 0x47f359
cmp ax, 0x19
je 0x47f359
cmp ax, 0x23
je 0x47f359
cmp ax, 0x2d
je 0x47f359
cmp ax, 0x37
jne 0x47f4fe
imul edx, dword [0x517428], 0x41c64e6d
lea eax, [ebx + 0x40]
mov esi, dword [eax]
mov edi, dword [ebx + 0x48]
add esi, 0xfffffe00
mov dword [ebp - 8], eax
add edi, 0xfffffe00
add edx, 0x3039
mov ecx, edx
sar ecx, 0xa
and ecx, 0x3ff
add esi, ecx
imul ecx, edx, 0x41c64e6d
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0xc], esi
add ecx, 0x3039
mov eax, ecx
imul ecx, ecx, 0x41c64e6d
sar eax, 0xa
and eax, 0x3ff
sub edx, eax
sub edx, 0x100
add ecx, 0x3039
mov dword [ebp - 0x10], edx
mov dword [0x517428], ecx
sar ecx, 0xa
and ecx, 0x3ff
add edi, ecx
mov cl, byte [0x6f2d6b]
movzx eax, cl
inc cl
imul eax, eax, 0x98
mov dword [ebp - 0x14], edi
mov byte [0x6f2d6b], cl
mov dword [eax + 0x6f4dd4], esi
xor esi, esi
mov dword [eax + 0x6f4dd8], edx
mov edx, 1
mov dword [eax + 0x6f4ddc], edi
mov word [eax + 0x6f4dc8], dx
nop dword [eax + eax]
push esi
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
mov ecx, ebx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.00472730
imul edi, dword [0x517424], 0x41c64e6d
add esp, 4
movzx ecx, word [ebx + 0x18]
add edi, 0x3039
mov dword [0x517424], edi
call fcn.0043e810
movzx eax, ax
cmp ax, 0xffff
je 0x47f4c1
cwde
lea ecx, [eax + eax*4]
mov eax, dword [0x6e5d50]
lea ecx, [eax + ecx*8]
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 8], eax
xor eax, eax
mov word [ecx + 0xc], ax
mov eax, edi
sar eax, 0xa
add eax, eax
mov word [ecx + 0xe], ax
mov eax, 0x171
mov word [ecx + 0x14], ax
imul eax, edi, 0x41c64e6d
add eax, 0x3039
mov dword [0x517424], eax
sar eax, 0xa
and eax, 0x1f
add eax, 0x10
mov word [ecx + 0x1a], ax
mov eax, 0xffffffc0
mov word [ecx + 0x1c], ax
mov eax, 4
mov word [ecx + 0x24], ax
add esi, 3
cmp esi, 0x18
jl 0x47f410
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
push 0
push 2
push 0xfffffffffffffffe
push 3
push dword [ebp - 0x14]
call fcn.00427ae0
mov edx, dword [ebp - 8]
mov ecx, 0x4c
push 0x800004
call fcn.00471b80
mov ax, word [0x6f2d6c]
add esp, 0x18
mov ecx, 0x80
cmp ax, cx
jge 0x47f5a6
movsx esi, ax
imul eax, esi, 0xffffe800
imul edx, esi, 0x640
imul ecx, esi, 0x15e0
mov dword [0x7b9d14], 0xfffffd00
sar eax, 7
sub eax, 0x600
sar edx, 7
mov dword [0x7b9d0c], eax
add edx, 0x64
imul eax, esi, 0xfffff400
sar ecx, 7
add ecx, 0x15e
mov dword [0x7b9cf8], edx
mov dword [0x7b9cfc], ecx
mov dword [0x7b9d04], ecx
sar eax, 7
sub eax, 0x480
mov dword [0x7b9d08], edx
mov dword [0x7b9d10], eax
imul eax, esi, 0x1900
sar eax, 7
add eax, 0x190
mov dword [0x7b9d00], eax
imul eax, esi, 0xc00
sar eax, 7
sub eax, 0x180
mov dword [0x7b9d18], eax
imul eax, esi, 0x1800
sar eax, 7
mov dword [0x7b9d1c], eax
mov ecx, dword [0x6e45b8]
xor edi, edi
mov esi, dword [0x517428]
mov eax, 0x6f3ca4
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], esi
mov ebx, dword [edi*4 + 0x7b9cf8]
mov edx, ecx
and edx, 0x3f
mov dword [ebp - 0xc], ebx
shl edx, 3
mov dword [ebp - 0x14], edx
movsx ecx, word [edx*4 + 0x4fddb0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax - 4], cx
movzx ecx, word [edi*4 + 0x7b9d0c]
mov edi, ecx
mov word [eax - 2], cx
movsx ecx, word [edx*4 + 0x4fddb2]
imul ecx, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
sar ecx, 0xb
mov word [eax], cx
test edi, edi
je 0x47f6b1
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47f6b1
imul ebx, esi, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
imul ecx, edx, 0x41c64e6d
mov esi, edx
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
mov edx, esi
imul esi, edi
add ecx, 0x3039
shr edx, 1
mov dword [ebp - 4], ecx
mov dword [0x517428], ecx
sar ecx, 0xa
and ecx, 0x3f
and esi, 0xffffffc0
add edx, ecx
imul edx, edi
mov edi, dword [ebp - 8]
and edx, 0xffffffc0
shl edx, 8
or edx, esi
mov esi, dword [ebp - 4]
shl edx, 2
or edx, ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
jmp 0x47f6b3
xor ecx, ecx
mov dword [eax + 8], ecx
movsx ecx, word [edx*4 + 0x4fe5b0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x1c]
mov word [eax + 0xe], cx
movsx ecx, word [edx*4 + 0x4fe5b2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x10], cx
test edi, edi
je 0x47f783
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47f783
imul ebx, esi, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
imul ecx, edx, 0x41c64e6d
mov esi, edx
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
add ecx, 0x3039
mov edx, ecx
mov dword [ebp - 4], ecx
sar edx, 0xa
and edx, 0x3f
mov dword [0x517428], ecx
mov ecx, esi
imul esi, edi
shr ecx, 1
add edx, ecx
imul edx, edi
mov edi, dword [ebp - 8]
and esi, 0xffffffc0
and edx, 0xffffffc0
shl edx, 8
or edx, esi
mov esi, dword [ebp - 4]
shl edx, 2
or edx, ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jmp 0x47f785
xor ecx, ecx
mov dword [eax + 0x18], ecx
add edx, 0x400
mov dword [ebp - 0x14], edx
movsx ecx, word [edx*4 + 0x4fddb0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x10]
mov word [eax + 0x1e], cx
movsx ecx, word [edx*4 + 0x4fddb2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x20], cx
test edi, edi
je 0x47f85e
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47f85e
imul ebx, esi, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
imul ecx, edx, 0x41c64e6d
mov esi, edx
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
add ecx, 0x3039
mov edx, ecx
mov dword [ebp - 4], ecx
sar edx, 0xa
and edx, 0x3f
mov dword [0x517428], ecx
mov ecx, esi
imul esi, edi
shr ecx, 1
add edx, ecx
imul edx, edi
mov edi, dword [ebp - 8]
and esi, 0xffffffc0
and edx, 0xffffffc0
shl edx, 8
or edx, esi
mov esi, dword [ebp - 4]
shl edx, 2
or edx, ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jmp 0x47f860
xor ecx, ecx
mov dword [eax + 0x28], ecx
movsx ecx, word [edx*4 + 0x4fe5b0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x2c], cx
mov ecx, dword [ebp - 0x10]
mov word [eax + 0x2e], cx
movsx ecx, word [edx*4 + 0x4fe5b2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x30], cx
test edi, edi
je 0x47f930
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47f930
imul ebx, esi, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
imul ecx, edx, 0x41c64e6d
mov esi, edx
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
add ecx, 0x3039
mov edx, ecx
mov dword [ebp - 4], ecx
sar edx, 0xa
and edx, 0x3f
mov dword [0x517428], ecx
mov ecx, esi
imul esi, edi
shr ecx, 1
add edx, ecx
imul edx, edi
mov edi, dword [ebp - 8]
and esi, 0xffffffc0
and edx, 0xffffffc0
shl edx, 8
or edx, esi
mov esi, dword [ebp - 4]
shl edx, 2
or edx, ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
jmp 0x47f932
xor ecx, ecx
mov dword [eax + 0x38], ecx
add edx, 0x400
and edx, 0xfff
mov dword [ebp - 0x1c], edx
movsx ecx, word [edx*4 + 0x4fddb0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x3c], cx
mov ecx, dword [ebp - 0x10]
mov word [eax + 0x3e], cx
movsx ecx, word [edx*4 + 0x4fddb2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x40], cx
test edi, edi
je 0x47fa0c
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47fa0c
imul ebx, esi, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
mov esi, edx
imul edx, edx, 0x41c64e6d
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
add edx, 0x3039
mov ecx, edx
mov dword [ebp - 4], edx
sar ecx, 0xa
and ecx, 0x3f
mov dword [0x517428], edx
mov dword [ebp - 0x14], ecx
mov ecx, esi
shr ecx, 1
add dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
imul ecx, edi
imul esi, edi
mov edi, dword [ebp - 8]
and ecx, 0xffffffc0
shl ecx, 8
and esi, 0xffffffc0
or ecx, esi
shl ecx, 2
or ecx, ebx
mov ebx, dword [ebp - 0xc]
jmp 0x47fa11
mov edx, dword [ebp - 4]
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
mov dword [eax + 0x48], ecx
add esi, 0x200
and esi, 0xfff
mov dword [ebp - 0x1c], esi
movsx ecx, word [esi*4 + 0x4fddb0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x4c], cx
mov ecx, dword [ebp - 0x10]
mov word [eax + 0x4e], cx
movsx ecx, word [esi*4 + 0x4fddb2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x50], cx
test edi, edi
je 0x47faf1
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47faf1
imul ebx, edx, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
mov esi, edx
imul edx, edx, 0x41c64e6d
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
mov ecx, esi
imul esi, edi
shr ecx, 1
add edx, 0x3039
mov dword [ebp - 0x14], ecx
mov ecx, edx
sar ecx, 0xa
and ecx, 0x3f
mov dword [ebp - 4], edx
add dword [ebp - 0x14], ecx
and esi, 0xffffffc0
mov ecx, dword [ebp - 0x14]
imul ecx, edi
mov edi, dword [ebp - 8]
mov dword [0x517428], edx
and ecx, 0xffffffc0
shl ecx, 8
or ecx, esi
mov esi, dword [ebp - 0x1c]
shl ecx, 2
or ecx, ebx
mov ebx, dword [ebp - 0xc]
jmp 0x47faf3
xor ecx, ecx
mov dword [eax + 0x58], ecx
add esi, 0x200
and esi, 0xfff
mov dword [ebp - 0x1c], esi
movsx ecx, word [esi*4 + 0x4fddb0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x5c], cx
mov ecx, dword [ebp - 0x10]
mov word [eax + 0x5e], cx
movsx ecx, word [esi*4 + 0x4fddb2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x60], cx
test edi, edi
je 0x47fbc7
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47fbc7
imul ebx, edx, 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
imul ecx, edx, 0x41c64e6d
mov esi, edx
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
mov edx, esi
imul esi, edi
add ecx, 0x3039
shr edx, 1
mov dword [ebp - 4], ecx
mov dword [0x517428], ecx
sar ecx, 0xa
and ecx, 0x3f
and esi, 0xffffffc0
add edx, ecx
imul edx, edi
mov edi, dword [ebp - 8]
and edx, 0xffffffc0
shl edx, 8
or edx, esi
mov esi, dword [ebp - 0x1c]
shl edx, 2
or edx, ebx
mov ebx, dword [ebp - 0xc]
jmp 0x47fbc9
xor edx, edx
mov dword [eax + 0x68], edx
lea edx, [esi + 0x200]
and edx, 0xfff
movsx ecx, word [edx*4 + 0x4fddb0]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x6c], cx
mov ecx, dword [ebp - 0x10]
mov word [eax + 0x6e], cx
movsx ecx, word [edx*4 + 0x4fddb2]
imul ecx, ebx
sar ecx, 0xb
mov word [eax + 0x70], cx
test edi, edi
je 0x47fc95
mov cx, word [0x6f2d6c]
cmp cx, 0x40
jge 0x47fc95
imul ebx, dword [ebp - 4], 0x41c64e6d
mov edi, 0x40
movsx ecx, cx
sub edi, ecx
add ebx, 0x3039
imul edx, ebx, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
imul ebx, edi
add edx, 0x3039
imul ecx, edx, 0x41c64e6d
mov esi, edx
sar esi, 0xa
and esi, 0x1f
sar ebx, 6
add esi, 0xe0
mov edx, esi
imul esi, edi
add ecx, 0x3039
shr edx, 1
mov dword [ebp - 4], ecx
mov dword [0x517428], ecx
sar ecx, 0xa
and ecx, 0x3f
and esi, 0xffffffc0
add edx, ecx
imul edx, edi
mov edi, dword [ebp - 8]
and edx, 0xffffffc0
shl edx, 8
or edx, esi
shl edx, 2
or edx, ebx
jmp 0x47fc97
xor edx, edx
inc edi
mov dword [eax + 0x78], edx
sub eax, 0xffffff80
mov dword [ebp - 8], edi
cmp edi, 5
jge 0x47fcb1
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
jmp 0x47f5c2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret