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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
mov eax, dword [ecx + 0xc0]
push ebx
push esi
mov esi, dword [ebp + 0x18]
test eax, eax
push edi
mov dword [esp + 0xc], ecx
je 0x4b7154
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
push eax
mov eax, dword [esi + 0x20]
push ecx
mov ecx, dword [esi + 0x1c]
push edx
mov edx, dword [esi + 0x18]
push eax
mov eax, dword [esi + 0x14]
push ecx
mov ecx, dword [esi + 0x10]
push edx
mov edx, dword [esi + 0xc]
push eax
mov eax, dword [esi + 8]
push ecx
mov ecx, dword [esi + 4]
push edx
mov edx, dword [esi]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
push eax
push ecx
push 0x5ca640
call fcn.005048fd
add esp, 0x3c
fld qword [esi + 0x18]
fmul qword [esi]
fstp qword [esp + 0xf8]
fld qword [esi + 0x10]
fmul qword [esi + 8]
fstp qword [esp + 0x10]
fld qword [esp + 0xf8]
fsub qword [esp + 0x10]
fabs
fcomp qword [0x571808]
fnstsw ax
test ah, 1
je 0x4b7192
mov eax, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
fld qword [esi + 8]
fabs
fld qword [esi]
fabs
fcompp
fnstsw ax
test ah, 1
je 0x4b71e2
fld qword [esi + 8]
fchs
fst qword [esp + 0x30]
fld qword [esp + 0xf8]
fdiv qword [esi + 8]
mov dword [esp + 0xdc], 1
fsubr qword [esi + 0x10]
fstp qword [esp + 0x50]
fld qword [esi + 0x18]
fdiv qword [esp + 0x50]
fchs
fstp qword [esp + 0xf8]
fld qword [esi]
fdiv qword [esi + 8]
fchs
jmp 0x4b7213
fld qword [esi]
mov dword [esp + 0xdc], 0
fst qword [esp + 0x30]
fld qword [esp + 0x10]
fdiv qword [esi]
fsubr qword [esi + 0x18]
fstp qword [esp + 0x50]
fld qword [esi + 0x10]
fdiv qword [esp + 0x50]
fstp qword [esp + 0xf8]
fld qword [esi + 8]
fdiv qword [esi]
fstp qword [esp + 0xe8]
mov ebx, dword [ebp + 0x1c]
fcomp qword [0x571800]
test ebx, ebx
fnstsw ax
je 0x4b72a4
fld qword [esi + 0x20]
fadd qword [0x571968]
test ah, 1
jne 0x4b7270
sub esp, 8
fstp qword [esp]
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x38]
fadd qword [esi + 0x20]
mov edi, eax
mov dword [esp + 0x48], edi
fadd qword [0x571968]
fstp qword [esp]
call fcn.00502c3a
add esp, 8
call fcn.00502d0c
dec eax
jmp 0x4b7339
sub esp, 8
fstp qword [esp]
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x38]
fadd qword [esi + 0x20]
mov edi, eax
dec edi
fadd qword [0x571968]
mov dword [esp + 0x48], edi
fstp qword [esp]
call fcn.00502c3a
add esp, 8
jmp 0x4b7334
fld qword [esi + 0x20]
test ah, 1
jne 0x4b72ed
fsub qword [0x574f40]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x38]
fadd qword [esi + 0x20]
mov edi, eax
mov dword [esp + 0x48], edi
fadd qword [0x574f40]
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
jmp 0x4b732c
fadd qword [0x574f40]
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x38]
fadd qword [esi + 0x20]
mov edi, eax
mov dword [esp + 0x48], edi
fsub qword [0x574f40]
fstp qword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.00502c3a
add esp, 0x10
call fcn.00502d0c
fld qword [esp + 0x50]
fcomp qword [0x571800]
sub eax, edi
cdq
xor eax, edx
sub eax, edx
inc eax
mov dword [esp + 0x5c], eax
test ebx, ebx
fnstsw ax
je 0x4b73d0
fld qword [esi + 0x28]
fadd qword [0x571968]
test ah, 1
jne 0x4b739c
sub esp, 8
fstp qword [esp]
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x58]
fadd qword [esi + 0x28]
mov edi, eax
mov dword [esp + 0x6c], edi
fadd qword [0x571968]
fstp qword [esp]
call fcn.00502c3a
add esp, 8
call fcn.00502d0c
dec eax
jmp 0x4b7465
sub esp, 8
fstp qword [esp]
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x58]
fadd qword [esi + 0x28]
mov edi, eax
dec edi
fadd qword [0x571968]
mov dword [esp + 0x6c], edi
fstp qword [esp]
call fcn.00502c3a
add esp, 8
jmp 0x4b7460
fld qword [esi + 0x28]
test ah, 1
jne 0x4b7419
fsub qword [0x574f40]
fstp qword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x58]
fadd qword [esi + 0x28]
mov edi, eax
mov dword [esp + 0x6c], edi
fadd qword [0x574f40]
fstp qword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
jmp 0x4b7458
fadd qword [0x574f40]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.00502c3a
call fcn.00502d0c
fld qword [esp + 0x58]
fadd qword [esi + 0x28]
mov edi, eax
mov dword [esp + 0x6c], edi
fsub qword [0x574f40]
fstp qword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.00502c3a
add esp, 0x10
call fcn.00502d0c
fld qword [esp + 0x30]
fcomp qword [0x571800]
sub eax, edi
or ecx, 0xffffffff
cdq
xor eax, edx
mov dword [esp + 0xd8], ecx
sub eax, edx
inc eax
mov dword [esp + 0xe0], eax
fnstsw ax
test ah, 1
jne 0x4b749a
mov dword [esp + 0xd8], 1
fld qword [esp + 0x50]
fcomp qword [0x571800]
mov dword [esp + 0xe4], ecx
fnstsw ax
test ah, 1
jne 0x4b74bd
mov dword [esp + 0xe4], 1
mov eax, dword [esp + 0x5c]
fild dword [esp + 0xd8]
dec eax
imul eax, dword [esp + 0xd8]
fmul qword [esp + 0xe8]
fstp qword [esp + 0x140]
mov dword [esp + 0x60], eax
mov dword [esp + 0x114], eax
fild dword [esp + 0x60]
fmul qword [esp + 0xe8]
call fcn.00502d0c
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x48], eax
fild dword [esp + 0xe4]
lea esi, [ecx - 1]
mov dword [esp + 0x68], esi
fstp qword [esp + 0x138]
fild dword [esp + 0x68]
fmul qword [esp + 0x138]
fmul qword [esp + 0xf8]
fadd qword [0x571968]
fstp qword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ebx
push edx
call fcn.00502c3a
call fcn.00502d0c
imul esi, dword [esp + 0xec]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fmul qword [esp + 0xf0]
call fcn.00502d0c
mov edi, eax
mov eax, dword [esp + 0x18]
push ebx
push eax
add edi, esi
call fcn.00502c3a
add esp, 0x10
call fcn.00502d0c
mov ebx, eax
mov eax, dword [esp + 0x114]
add ebx, eax
mov dword [esp + 0x68], ebx
fild dword [esp + 0x68]
fmul qword [esp + 0xe8]
call fcn.00502d0c
mov ecx, dword [esp + 0xdc]
add eax, esi
test ecx, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc8], ecx
je 0x4b75dd
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
add esi, edx
mov dword [esp + 0x4c], esi
mov esi, ecx
sub esi, dword [esp + 0x60]
mov dword [esp + 0x48], esi
lea esi, [edi + edx]
mov edi, ecx
add edx, eax
sub edi, dword [esp + 0x3c]
mov eax, ecx
sub eax, ebx
jmp 0x4b7601
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x40]
add esi, edx
add edi, ecx
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x48]
add esi, ecx
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x3c]
add esi, edx
add edx, ebx
add eax, ecx
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
cmp ebx, ecx
jge 0x4b7625
cmp ebx, esi
jge 0x4b761b
cmp ebx, edx
jge 0x4b763d
mov dword [esp + 0x28], ebx
jmp 0x4b7641
cmp esi, edx
jge 0x4b763d
mov dword [esp + 0x28], esi
jmp 0x4b7641
cmp ecx, esi
jge 0x4b7633
cmp ecx, edx
jge 0x4b763d
mov dword [esp + 0x28], ecx
jmp 0x4b7641
cmp esi, edx
jge 0x4b763d
mov dword [esp + 0x28], esi
jmp 0x4b7641
mov dword [esp + 0x28], edx
cmp ebx, ecx
jle 0x4b7657
cmp ebx, esi
jle 0x4b7651
cmp ebx, edx
jle 0x4b7669
mov edx, ebx
jmp 0x4b7669
cmp esi, edx
jle 0x4b7669
jmp 0x4b7667
cmp ecx, esi
jle 0x4b7663
cmp ecx, edx
jle 0x4b7669
mov edx, ecx
jmp 0x4b7669
cmp esi, edx
jle 0x4b7669
mov edx, esi
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0xc8]
cmp esi, ebx
jge 0x4b768c
cmp esi, edi
jge 0x4b7684
cmp esi, eax
jge 0x4b76a0
mov ecx, esi
jmp 0x4b76a2
cmp edi, eax
jge 0x4b76a0
mov ecx, edi
jmp 0x4b76a2
cmp ebx, edi
jge 0x4b7698
cmp ebx, eax
jge 0x4b76a0
mov ecx, ebx
jmp 0x4b76a2
cmp edi, eax
jge 0x4b76a0
mov ecx, edi
jmp 0x4b76a2
mov ecx, eax
cmp esi, ebx
jle 0x4b76b8
cmp esi, edi
jle 0x4b76b2
cmp esi, eax
jle 0x4b76ca
mov eax, esi
jmp 0x4b76ca
cmp edi, eax
jle 0x4b76ca
jmp 0x4b76c8
cmp ebx, edi
jle 0x4b76c4
cmp ebx, eax
jle 0x4b76ca
mov eax, ebx
jmp 0x4b76ca
cmp edi, eax
jle 0x4b76ca
mov eax, edi
mov esi, dword [esp + 0xc]
push eax
push edx
push ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 4]
push ecx
mov ecx, dword [edx + 0x84]
call fcn.004bd2b0
mov ecx, dword [ebp + 0x14]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x104], eax
mov dword [esi + 0xb8], eax
mov eax, ecx
mov ebx, dword [ebp + 0x10]
cdq
idiv edi
mov dword [esp + 0x110], eax
mov eax, ecx
cdq
idiv edi
mov ecx, dword [esp + 0x5c]
mov eax, ebx
mov dword [esp + 0x130], edx
cdq
idiv ecx
mov dword [esp + 0x108], eax
mov eax, ebx
cdq
idiv ecx
mov eax, dword [esp + 0x110]
inc eax
imul eax, ebx
push eax
mov dword [esp + 0x120], edx
call fcn.004c64a0
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 4]
add esp, 4
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
mov ecx, dword [eax + 0x88]
cmp ecx, edx
je 0x4b7780
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x9c], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
cmp edx, 3
ja case.default.0x4b778a
jmp dword [edx*4 + 0x4b89dc]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xa4], 0x80
mov dword [esp + 0xa0], edx
jmp case.default.0x4b778a
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xa0], edx
mov ecx, dword [ecx + 0x14]
xor edx, edx
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 0x90]
cmp ecx, edx
je 0x4b77e8
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
cmp ecx, edx
je 0x4b77e8
mov edx, dword [esi + 0x18]
imul edx, dword [eax]
add edx, dword [esi + 0x14]
add edx, ecx
mov dword [esp + 0x98], edx
xor edx, edx
jmp 0x4b77ef
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], edx
cmp eax, edx
je 0x4b7828
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x4b781d
mov edx, dword [ecx]
lea eax, [esp + 0x94]
push eax
push 0
push 0
call dword [edx + 8]
jmp 0x4b7821
mov dword [esp + 0x78], ecx
lea edx, [esp + 0x94]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x90], edx
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x88]
xor ecx, ecx
cmp edx, ecx
jne 0x4b7865
fld qword [esp + 0x10]
fmul qword [0x573718]
fstp qword [esp + 0x80]
mov edx, 1
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x88], edx
cmp dword [eax + 0x3c], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
jne 0x4b788b
mov eax, dword [eax*4 + 0x5ca544]
jmp 0x4b7892
mov eax, dword [eax*4 + 0x5ca554]
mov dword [esp + 0xbc], eax
mov eax, dword [esi + 0xbc]
cmp eax, ecx
mov dword [esp + 0xc0], ecx
je 0x4b78b1
mov dword [esi + 0xc], 0xffffffff
cmp edi, ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x60], ecx
jle 0x4b89c1
jmp 0x4b78db
mov esi, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
mov edi, dword [esp + 0xe0]
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x110]
add eax, dword [esp + 0x130]
mov edx, ecx
mov dword [esp + 0x3c], edx
cmp eax, edi
mov dword [esp + 0xf4], eax
jl 0x4b7911
sub eax, edi
lea edx, [ecx + 1]
mov dword [esp + 0xf4], eax
mov dword [esp + 0x3c], edx
test ecx, ecx
mov eax, edx
jg 0x4b791e
mov eax, dword [esp + 0x10c]
test eax, eax
jle 0x4b7942
mov edi, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
mov ecx, dword [ebp + 0xc]
push edi
push ecx
call dword [ebp + 8]
mov eax, dword [esp + 0x54]
add esp, 8
add edi, ebx
dec eax
mov dword [esp + 0x4c], eax
jne 0x4b792a
fild dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
sub esp, 8
mov dword [esp + 0x114], edx
fmul qword [esp + 0x140]
fst qword [esp + 0x18]
fmul qword [esp + 0x100]
fadd qword [0x571968]
fstp qword [esp]
call fcn.00502c3a
add esp, 8
call fcn.00502d0c
mov edi, eax
mov eax, dword [esp + 0x104]
test eax, eax
mov dword [esp + 0x1c], edi
je 0x4b7a37
mov eax, dword [esp + 0xdc]
test eax, eax
jne 0x4b7a37
fild dword [esp + 0x1c]
fmul qword [esp + 0xe8]
call fcn.00502d0c
mov ebx, eax
mov eax, dword [esp + 0x114]
add eax, edi
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
fmul qword [esp + 0xe8]
call fcn.00502d0c
cmp ebx, eax
jne 0x4b7a37
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4b79f0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
lea eax, [edi + ecx]
lea ecx, [edx - 1]
add ecx, eax
jmp 0x4b7a00
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
lea ecx, [edi + eax]
mov eax, ecx
sub eax, edx
inc eax
mov edx, dword [esp + 0x60]
imul edx, dword [esp + 0xe4]
add edx, ebx
mov ebx, dword [esp + 0x64]
add edx, ebx
push edx
push ecx
push eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x84]
call fcn.004bd370
cmp eax, 1
mov dword [esp + 0xf0], eax
je 0x4b89a9
jmp 0x4b7a45
mov ecx, dword [esp + 0x104]
mov dword [esp + 0xf0], ecx
fild dword [esp + 0x1c]
xor ecx, ecx
mov ebx, edi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x4c], ebx
fmul qword [esp + 0xe8]
fadd qword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [esp + 0x140]
fcomp qword [0x571800]
fnstsw ax
test ah, 1
je 0x4b7a89
fld qword [esp + 0x10]
fadd qword [0x574ee0]
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
mov dword [esp + 0x3c], eax
jg 0x4b7a9d
mov dword [esp + 0x3c], 1
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x68], ecx
cmp eax, ecx
jle 0x4b89a9
mov edi, dword [esp + 0x108]
jmp 0x4b7acc
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x108]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x100]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x118], edi
add ecx, esi
cmp ecx, eax
mov dword [esp + 0x100], ecx
jl 0x4b7af8
sub ecx, eax
inc edi
mov dword [esp + 0x100], ecx
mov dword [esp + 0x118], edi
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x4b7b14
fld qword [esp + 0x10]
call fcn.00502d0c
mov dword [esp + 0x1c], eax
neg ebx
jmp 0x4b7b23
fld qword [esp + 0x10]
mov dword [esp + 0x1c], ebx
call fcn.00502d0c
mov ebx, eax
test edi, edi
jg 0x4b7b2c
mov edi, 1
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xc8]
xor esi, esi
lea ecx, [eax + edx]
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [esp + 0x24], esi
jle 0x4b895d
mov edx, eax
mov dword [esp + 0x24], edx
test edi, edi
jle 0x4b7b62
mov edx, edi
xor eax, eax
mov al, byte [ecx]
add esi, eax
inc ecx
dec edx
jne 0x4b7b58
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
sub edx, edi
add ecx, edx
dec eax
mov dword [esp + 0x24], eax
jne 0x4b7b52
test esi, esi
mov dword [esp + 0x24], esi
je 0x4b895d
mov ecx, edi
imul ecx, dword [esp + 0x3c]
cmp esi, ecx
mov dword [esp + 0x20], ecx
jne 0x4b7ba7
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0x3ff00000
jmp 0x4b7bb6
fild dword [esp + 0x24]
fidiv dword [esp + 0x20]
fstp qword [esp + 0xb0]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xbc]
test ecx, ecx
je 0x4b7e97
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x4b7e97
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
lea esi, [ebx + ecx]
lea ebx, [eax + edx]
test ebx, ebx
jl 0x4b895d
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
cmp ebx, dword [edx]
jge 0x4b895d
mov eax, ecx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x84]
cmp esi, dword [eax + 0x2c]
jl 0x4b895d
cmp esi, dword [eax + 0x34]
jg 0x4b895d
mov edx, dword [esp + 0xc]
cmp esi, dword [edx + 0xc]
je 0x4b7c8a
mov eax, edx
push esi
mov edx, dword [eax + 8]
or eax, 0xffffffff
mov ecx, dword [edx + 8]
mov edi, dword [edx + 0x10]
imul ecx, dword [edx + 4]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x10]
mov dword [esp + 0x12c], 0
mov ecx, dword [eax]
mov edx, dword [ecx]
lea ecx, [esp + 0x138]
dec edx
push ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x13c], edx
lea edx, [esp + 0x130]
push edx
mov edx, dword [eax + 4]
push ecx
mov ecx, dword [edx + 0x84]
call fcn.004bd4d0
mov eax, dword [esp + 0xc]
mov dword [eax + 0xc], esi
mov ecx, dword [esp + 0xc]
mov edi, ebx
sar edi, 1
mov eax, dword [ecx + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 8]
add edi, edx
test bl, 1
lea edx, [edi + eax*2]
je 0x4b7cdc
mov dl, byte [eax + edx]
mov cl, byte [edi + eax*2]
mov al, byte [eax + edi]
and edx, 0xf
and ecx, 0xf
and eax, 0xf
mov edx, dword [edx*4 + 0x5ca600]
add edx, dword [ecx*4 + 0x5ca600]
mov ecx, dword [eax*4 + 0x5ca600]
add edx, ecx
mov cl, byte [edi]
and ecx, 0xf
add edx, dword [ecx*4 + 0x5ca600]
jmp 0x4b7d23
xor ecx, ecx
mov cl, byte [eax + edx]
xor edx, edx
mov dl, byte [edi + eax*2]
shr ecx, 4
mov dword [esp + 0x20], ecx
mov ecx, edx
mov edx, dword [esp + 0x20]
shr ecx, 4
mov edx, dword [edx*4 + 0x5ca600]
add edx, dword [ecx*4 + 0x5ca600]
xor ecx, ecx
mov cl, byte [eax + edi]
shr ecx, 4
mov eax, dword [ecx*4 + 0x5ca600]
add edx, eax
xor eax, eax
mov al, byte [edi]
shr eax, 4
add edx, dword [eax*4 + 0x5ca600]
test edx, edx
je 0x4b895d
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], esi
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x88]
test eax, eax
je 0x4b7d56
mov edi, dword [eax + 8]
imul edi, esi
add edi, dword [eax + 0x10]
add edi, ebx
mov dword [esp + 0x9c], edi
mov eax, dword [ecx]
mov edi, dword [eax + 0xc]
cmp edi, 3
ja case.default.0x4b7d60
jmp dword [edi*4 + 0x4b89ec]
mov ecx, dword [eax + 8]
mov edi, dword [eax + 0x10]
imul ecx, esi
add ecx, edi
mov edi, ebx
sar edi, 3
add ecx, edi
mov edi, 0x80
mov dword [esp + 0xa0], ecx
mov ecx, ebx
and ecx, 7
sar edi, cl
mov dword [esp + 0xa4], edi
jmp 0x4b7dc0
mov edi, dword [eax + 8]
imul edi, esi
add edi, dword [eax + 0x10]
add edi, ebx
mov dword [esp + 0xa0], edi
jmp case.default.0x4b7d60
mov ecx, dword [eax + 8]
mov edi, dword [eax + 0x10]
imul ecx, esi
add ecx, edi
lea edi, [ebx + ebx*2]
add ecx, edi
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0xc]
mov edi, dword [eax + 0x14]
test edi, edi
mov dword [esp + 0x20], edi
je 0x4b7de5
mov edi, esi
imul edi, dword [eax]
mov eax, dword [esp + 0x20]
add edi, ebx
add edi, eax
mov dword [esp + 0xa8], edi
jmp 0x4b7df0
mov dword [esp + 0xa8], 0
mov eax, dword [ecx + 4]
mov edi, dword [eax + 0x90]
test edi, edi
je 0x4b7e29
mov eax, dword [ecx + 0x10]
mov edi, dword [eax + 0x14]
test edi, edi
mov dword [esp + 0x20], edi
je 0x4b7e29
mov edi, dword [ecx + 0x18]
add edi, esi
imul edi, dword [eax]
mov eax, dword [ecx + 0x14]
add edi, eax
mov eax, dword [esp + 0x20]
add edi, ebx
add edi, eax
mov dword [esp + 0x98], edi
jmp 0x4b7e34
mov dword [esp + 0x98], 0
mov edi, dword [esp + 0xc]
fld qword [esp + 0xb0]
fmul qword [edi + edx*8 + 0x20]
lea edx, [esp + 0x70]
mov ecx, edi
push edx
fstp qword [esp + 0xb4]
call fcn.004b40b0
cmp ebx, dword [edi + 0xa8]
jge 0x4b7e64
mov dword [edi + 0xa8], ebx
cmp ebx, dword [edi + 0xb0]
jle 0x4b7e72
mov dword [edi + 0xb0], ebx
cmp esi, dword [edi + 0xac]
jge 0x4b7e80
mov dword [edi + 0xac], esi
cmp esi, dword [edi + 0xb4]
jle 0x4b895d
mov dword [edi + 0xb4], esi
jmp 0x4b895d
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
add ebx, eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x124], ebx
lea edi, [edx + ecx]
test eax, eax
mov dword [esp + 0x120], edi
je 0x4b7edd
mov eax, dword [esp + 0xc]
push ebx
push edi
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x84]
call fcn.004bd210
test eax, eax
je 0x4b895d
mov edx, dword [esp + 0xc]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], ebx
mov eax, dword [edx + 4]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x88]
test ecx, ecx
je 0x4b7f10
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0x10]
imul eax, ebx
add eax, esi
add eax, edi
mov dword [esp + 0x9c], eax
jmp 0x4b7f17
mov eax, dword [esp + 0x9c]
mov ecx, dword [edx]
mov dword [esp + 0x20], ecx
mov edx, dword [ecx + 0xc]
cmp edx, 3
ja case.default.0x4b7f25
jmp dword [edx*4 + 0x4b89fc]
mov esi, dword [ecx + 8]
mov edx, dword [ecx + 0x10]
imul esi, ebx
add esi, edx
mov edx, edi
sar edx, 3
mov ecx, edi
add esi, edx
and ecx, 7
mov edx, 0x80
sar edx, cl
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], edx
jmp 0x4b7f94
mov esi, dword [ecx + 8]
mov edx, dword [ecx + 0x10]
imul esi, ebx
add esi, edx
add esi, edi
mov dword [esp + 0xa0], esi
jmp 0x4b7f94
mov esi, dword [ecx + 8]
mov edx, dword [ecx + 0x10]
imul esi, ebx
add esi, edx
lea edx, [edi + edi*2]
add esi, edx
mov dword [esp + 0xa0], esi
jmp 0x4b7f94
mov esi, dword [esp + 0xa0]
mov edx, dword [ecx + 0x14]
test edx, edx
mov dword [esp + 0x20], edx
je 0x4b7fb5
mov edx, ebx
imul edx, dword [ecx]
mov ecx, dword [esp + 0x20]
add edx, edi
add edx, ecx
mov dword [esp + 0xa8], edx
jmp 0x4b7fc0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x90]
test edx, edx
je 0x4b7ffd
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0x14]
test edx, edx
mov dword [esp + 0x20], edx
je 0x4b7ffd
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x18]
add edx, ebx
imul edx, dword [ecx]
mov ecx, dword [esp + 0xc]
add edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x20]
add edx, edi
add edx, ecx
jmp 0x4b7fff
xor edx, edx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x98], edx
test ecx, ecx
je 0x4b8032
mov edx, dword [ecx]
lea eax, [esp + 0x94]
push eax
push ebx
push edi
call dword [edx + 8]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc]
test ecx, ecx
je 0x4b818e
mov ecx, dword [ebx + 4]
mov edi, dword [ecx + 0x3c]
test edi, edi
jne 0x4b818e
mov edx, dword [ebx]
mov eax, dword [edx + 0xc]
cmp eax, 3
ja case.default.0x4b8061
jmp dword [eax*4 + 0x4b8a0c]
mov eax, dword [esp + 0x90]
mov ecx, dword [ecx + 0x38]
mov dl, byte [eax]
mov byte [esp + 0x2c], dl
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x74]
push edx
push eax
call fcn.004e37f0
test eax, eax
je 0x4b80a2
mov eax, dword [esp + 0xa0]
mov cl, byte [esp + 0xa4]
or byte [eax], cl
jmp 0x4b80b4
mov eax, dword [esp + 0xa0]
mov dl, byte [esp + 0xa4]
not dl
and byte [eax], dl
mov eax, dword [esp + 0xa4]
sar eax, 1
mov dword [esp + 0xa4], eax
jne case.default.0x4b8061
mov dword [esp + 0xa4], 0x80
jmp 0x4b816e
mov eax, dword [esp + 0x90]
mov cl, byte [eax]
mov byte [esi], cl
jmp 0x4b816e
mov edx, dword [esp + 0x90]
mov al, byte [edx]
mov byte [esi], al
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0xa0], eax
mov dl, byte [ecx + 1]
mov byte [eax], dl
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0xa0], eax
mov dl, byte [ecx + 2]
mov byte [eax], dl
jmp 0x4b816e
mov eax, dword [esp + 0x90]
mov cl, byte [eax + 2]
mov byte [esi], cl
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
inc eax
mov dword [esp + 0xa0], eax
mov cl, byte [edx + 1]
mov byte [eax], cl
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
inc eax
mov dword [esp + 0xa0], eax
mov cl, byte [edx]
mov byte [eax], cl
inc dword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4b891e
mov edx, eax
mov byte [edx], 0xff
jmp 0x4b8917
mov edi, dword [ebx]
mov ecx, dword [edi + 0xc]
cmp ecx, 3
ja case.default.0x4b8198
jmp dword [ecx*4 + 0x4b8a1c]
mov cl, byte [esi]
and cl, byte [esp + 0xa4]
neg cl
sbb cl, cl
and ecx, 0xff
mov byte [esp + 0x30], cl
jmp case.default.0x4b8198
mov cl, byte [esi]
mov byte [esp + 0x30], cl
jmp case.default.0x4b8198
mov cl, byte [esi]
mov byte [esp + 0x30], cl
mov cl, byte [esi + 1]
mov byte [esp + 0x31], cl
mov cl, byte [esi + 2]
jmp 0x4b81e2
mov cl, byte [esi + 2]
mov byte [esp + 0x30], cl
mov cl, byte [esi + 1]
mov byte [esp + 0x31], cl
mov cl, byte [esi]
mov byte [esp + 0x32], cl
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x4b81f9
mov cl, byte [ecx]
mov byte [esp + 0x28], cl
jmp 0x4b81fe
mov byte [esp + 0x28], 0xff
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
je 0x4b8238
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x50]
push edx
push eax
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x38]
push edx
push eax
call ecx
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
add esp, 0x10
mov ecx, dword [ebx + 4]
mov edi, dword [ecx + 0x88]
test edi, edi
je 0x4b82b4
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x4b829f
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul qword [esp + 0x80]
fmul qword [esp + 0xb0]
inc eax
mov dword [esp + 0x9c], eax
fadd qword [0x571968]
sub esp, 8
fstp qword [esp]
call fcn.00502c3a
add esp, 8
call fcn.00502d0c
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0xa0]
mov byte [esp + 0x6c], al
jmp 0x4b82da
xor ecx, ecx
mov cl, byte [eax]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul qword [esp + 0x80]
jmp 0x4b826a
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4b82cf
fld qword [esp + 0x80]
fmul qword [esp + 0xb0]
jmp 0x4b8272
mov al, byte [esp + 0x8c]
mov byte [esp + 0x6c], al
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x4b82f4
mov byte [esp + 0xd4], 0xff
or al, 0xff
jmp 0x4b8375
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
and edi, 0xff
and ecx, 0xff
imul edi, ecx
mov ecx, edi
sar ecx, 8
lea ecx, [ecx + edi + 0x80]
sar ecx, 8
sub al, cl
mov cl, byte [esp + 0x28]
add al, cl
mov bl, al
test edx, edx
mov byte [esp + 0xd4], bl
je 0x4b8373
mov cl, byte [edx]
inc edx
mov byte [esp + 0x12c], cl
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0xd4]
and eax, 0xff
and edx, 0xff
imul eax, edx
mov edx, eax
sar edx, 8
lea eax, [edx + eax + 0x80]
sar eax, 8
sub cl, al
add cl, bl
mov al, cl
jmp 0x4b8375
mov al, bl
mov edi, dword [esp + 0xbc]
xor bl, bl
xor cl, cl
cmp edi, 5
mov byte [esp + 0xcc], al
mov byte [esp + 0xd0], bl
mov byte [esp + 0x44], bl
mov byte [esp + 0x2c], cl
ja case.default.0x4b83a6
mov edx, dword [esp + 0x90]
jmp dword [edi*4 + 0x4b8a2c]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x52]
and ecx, 0xff
mov edi, 0xff
xor eax, eax
sub edi, ecx
mov al, byte [edx + 2]
and ebx, 0xff
imul eax, edi
imul ebx, ecx
add eax, ebx
mov ebx, eax
sar ebx, 8
lea ebx, [ebx + eax + 0x80]
xor eax, eax
mov al, byte [edx + 1]
imul eax, edi
mov edi, dword [esp + 0x51]
and edi, 0xff
imul edi, ecx
add eax, edi
mov ecx, eax
sar ecx, 8
sar ebx, 8
lea eax, [ecx + eax + 0x80]
mov byte [esp + 0xd0], bl
sar eax, 8
mov byte [esp + 0x44], al
mov edi, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [esp + 0x50]
and edi, 0xff
mov eax, 0xff
sub eax, edi
and edx, 0xff
imul eax, ecx
imul edx, edi
add eax, edx
mov ecx, eax
sar ecx, 8
lea ecx, [ecx + eax + 0x80]
sar ecx, 8
mov byte [esp + 0x2c], cl
jmp case.default.0x4b83a6
test al, al
jne 0x4b8463
xor cl, cl
mov byte [esp + 0x2c], cl
jmp case.default.0x4b83a6
mov edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
and edi, 0xff
and ecx, 0xff
mov eax, edi
sub eax, ecx
and edx, 0xff
imul eax, edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cl, byte [edx]
imul ecx, dword [esp + 0x24]
add eax, ecx
cdq
idiv edi
mov cl, al
mov byte [esp + 0x2c], cl
jmp case.default.0x4b83a6
test al, al
jne 0x4b84cb
xor cl, cl
xor bl, bl
mov byte [esp + 0x2c], cl
mov byte [esp + 0x44], cl
mov byte [esp + 0xd0], bl
jmp case.default.0x4b83a6
mov ebx, dword [esp + 0xcc]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x6c]
xor eax, eax
mov al, byte [edx]
mov edx, dword [esp + 0x30]
and ebx, 0xff
and edi, 0xff
mov ecx, ebx
and edx, 0xff
sub ecx, edi
imul eax, edi
imul edx, ecx
add eax, edx
mov dword [esp + 0x1c], ecx
cdq
idiv ebx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x24], edi
mov cl, al
xor eax, eax
mov al, byte [edx + 1]
mov edx, dword [esp + 0x31]
imul eax, edi
mov edi, dword [esp + 0x1c]
and edx, 0xff
imul edx, edi
add eax, edx
mov byte [esp + 0x2c], cl
cdq
idiv ebx
mov edx, dword [esp + 0x90]
mov byte [esp + 0x44], al
xor eax, eax
mov al, byte [edx + 2]
mov edx, dword [esp + 0x32]
imul eax, dword [esp + 0x24]
and edx, 0xff
imul edx, edi
add eax, edx
cdq
idiv ebx
mov bl, al
mov byte [esp + 0xd0], bl
jmp case.default.0x4b83a6
test al, al
jne 0x4b857d
xor cl, cl
mov byte [esp + 0x2c], cl
jmp case.default.0x4b83a6
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x90]
and eax, 0xff
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xcc]
and eax, 0xff
and edi, 0xff
mov dword [esp + 0x20], eax
mov ecx, 0xff
xor eax, eax
sub ecx, edi
mov al, byte [edx]
imul ecx, eax
mov eax, dword [esp + 0x50]
and eax, 0xff
imul eax, edi
add ecx, eax
mov eax, 0x80808081
imul ecx, dword [esp + 0x24]
imul ecx
add edx, ecx
mov edi, dword [esp + 0x24]
sar edx, 7
mov ecx, edx
mov eax, edx
shr ecx, 0x1f
add eax, ecx
mov ecx, dword [esp + 0x20]
mov edx, ecx
sub edx, edi
mov edi, dword [esp + 0x30]
and edi, 0xff
imul edx, edi
add eax, edx
cdq
idiv ecx
mov cl, al
mov byte [esp + 0x2c], cl
jmp case.default.0x4b83a6
test al, al
je 0x4b84b3
mov ebx, dword [esp + 0xcc]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x90]
and ebx, 0xff
and edi, 0xff
mov ecx, ebx
and esi, 0xff
sub ecx, edi
mov eax, 0xff
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov cl, byte [edx]
sub eax, esi
imul ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
and eax, 0xff
imul eax, esi
add ecx, eax
mov eax, 0x80808081
imul ecx, edi
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
mov eax, edx
mov edx, dword [esp + 0x30]
and edx, 0xff
imul edx, dword [esp + 0x1c]
shr ecx, 0x1f
add eax, ecx
xor ecx, ecx
add eax, edx
cdq
idiv ebx
mov edx, dword [esp + 0x51]
and edx, 0xff
imul edx, esi
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x90]
mov cl, byte [eax + 1]
mov eax, 0x80808081
imul ecx, dword [esp + 0x24]
add ecx, edx
imul ecx, edi
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
mov eax, edx
mov edx, dword [esp + 0x31]
and edx, 0xff
imul edx, dword [esp + 0x1c]
shr ecx, 0x1f
add eax, ecx
xor ecx, ecx
add eax, edx
cdq
idiv ebx
mov edx, dword [esp + 0x52]
and edx, 0xff
imul edx, esi
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x90]
mov cl, byte [eax + 2]
mov eax, 0x80808081
imul ecx, dword [esp + 0x24]
add ecx, edx
imul ecx, edi
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
mov eax, edx
mov edx, dword [esp + 0x32]
and edx, 0xff
imul edx, dword [esp + 0x1c]
shr ecx, 0x1f
add eax, ecx
add eax, edx
cdq
idiv ebx
mov cl, byte [esp + 0x2c]
mov esi, dword [esp + 0xa0]
mov bl, al
mov byte [esp + 0xd0], bl
mov al, byte [esp + 0xd4]
test al, al
je 0x4b882c
mov eax, dword [esp + 0xc0]
dec eax
je 0x4b87e1
sub eax, 2
jne 0x4b882c
mov eax, dword [esp + 0xd4]
mov edx, 0xff
and eax, 0xff
sub edx, eax
mov edi, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x28]
and edx, 0xff
shl edi, 8
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x32]
sub edi, eax
mov eax, dword [esp + 0xd0]
and eax, 0xff
and edx, 0xff
sub eax, edx
imul eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x24]
cdq
idiv edi
mov edx, dword [esp + 0x31]
and edx, 0xff
add bl, al
mov eax, dword [esp + 0x44]
and eax, 0xff
sub eax, edx
imul eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x24]
cdq
idiv edi
add byte [esp + 0x44], al
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0xd4]
and edx, 0xff
and eax, 0xff
and edi, 0xff
sub eax, edx
mov edx, 0xff
sub edx, edi
imul eax, edx
mov edx, dword [esp + 0x28]
and edx, 0xff
imul eax, edx
mov edx, edi
shl edx, 8
sub edx, edi
mov edi, edx
cdq
idiv edi
add cl, al
mov byte [esp + 0x2c], cl
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
cmp eax, 3
ja case.default.0x4b883e
jmp dword [eax*4 + 0x4b8a44]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x74]
mov edx, dword [edx + 4]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push ecx
mov ecx, dword [edx + 0x38]
call fcn.004e37f0
test eax, eax
je 0x4b8875
mov eax, dword [esp + 0xa0]
mov cl, byte [esp + 0xa4]
or byte [eax], cl
jmp 0x4b8887
mov eax, dword [esp + 0xa0]
mov dl, byte [esp + 0xa4]
not dl
and byte [eax], dl
mov eax, dword [esp + 0xa4]
sar eax, 1
mov dword [esp + 0xa4], eax
jne case.default.0x4b883e
mov dword [esp + 0xa4], 0x80
jmp 0x4b88fc
mov byte [esi], cl
jmp 0x4b88fc
mov byte [esi], cl
mov eax, dword [esp + 0xa0]
mov cl, byte [esp + 0x44]
inc eax
mov dword [esp + 0xa0], eax
mov byte [eax], cl
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
mov byte [eax], bl
jmp 0x4b88fc
mov dl, byte [esp + 0x44]
mov byte [esi], bl
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
mov byte [eax], dl
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
mov byte [eax], cl
inc dword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4b891e
mov cl, byte [esp + 0xd4]
mov byte [eax], cl
inc dword [esp + 0xa8]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x120]
inc esi
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0x70], esi
cmp eax, edx
jge 0x4b8942
mov dword [ecx + 0xa8], eax
cmp eax, dword [ecx + 0xb0]
jle 0x4b8950
mov dword [ecx + 0xb0], eax
mov edx, dword [esp + 0x124]
push edx
call fcn.004b4080
mov eax, dword [esp + 0x118]
mov edi, dword [esp + 0xc8]
fld qword [esp + 0x10]
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0x4c]
fadd qword [esp + 0x140]
add edi, eax
mov eax, dword [esp + 0x68]
add esi, ecx
mov ecx, dword [esp + 0x5c]
inc eax
mov dword [esp + 0xc8], edi
fstp qword [esp + 0x10]
cmp eax, ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x68], eax
jl 0x4b7ab6
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xe0]
inc eax
cmp eax, ecx
mov dword [esp + 0x60], eax
jl 0x4b78cd
mov edx, dword [esp + 0x48]
push edx
call fcn.004c66b0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18