Function at 0x495360
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1fc
push ebx
mov ebx, ecx
push esi
push edi
movzx eax, word [ebx + 4]
mov ecx, eax
test ax, ax
js 0x495fc9
mov edx, 0x2000
cmp cx, dx
jge 0x495fc9
cwde
mov ecx, 0x9ed0c4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00405650
mov esi, dword [ebp - 0x20]
mov ecx, dword [0x9ed0c4]
mov eax, dword [ebp - 4]
cmp byte [esi + 0xd], 0
jne 0x4953b8
cmp eax, dword [esi + 0x10]
jge 0x4953ba
mov esi, ecx
cmp esi, ecx
je 0x495fc9
add esi, 0x14
lea edi, [ebp - 0x118]
mov ecx, 0x38
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x90]
test esi, esi
je 0x49544d
cmp esi, 0x64
jb 0x4953f2
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
jmp 0x4953f4
mov ecx, esi
cmp ecx, 0x3e8
jb 0x495409
mov eax, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
mov eax, 0x55555556
mov dword [ebx + 0x7c], ecx
imul esi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x64
jb 0x495443
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
cmp ecx, 0x3e8
jb 0x495443
mov eax, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
mov dword [ebx + 0x78], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0xe8], 0
mov dword [ebx + 0xf0], 0
mov dword [ebx + 0xf8], 0
mov dword [ebx + 0x100], 0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0xec], 0
mov dword [ebx + 0xf4], 0
mov dword [ebx + 0xfc], 0
mov dword [ebx + 0x104], 0
mov dword [ebx + 0x108], 0
mov esi, dword [0x9ed0f4]
mov edx, dword [0x9ed0f8]
cmp esi, edx
je 0x49551f
cmp dword [esi], eax
jne 0x495518
mov ecx, dword [esi + 4]
cmp ecx, 0xffffffff
je 0x4954d9
movsx eax, word [ebx + 6]
cmp ecx, eax
jne 0x495515
mov ecx, dword [esi + 8]
cmp ecx, 0xffffffff
je 0x4954ec
movzx eax, byte [ebx + 0x9f]
cmp ecx, eax
jne 0x495515
mov ecx, dword [esi + 0xc]
cmp ecx, 0xffffffff
je 0x4954ff
movzx eax, byte [ebx + 0xb6]
cmp ecx, eax
jne 0x495515
mov ecx, dword [esi + 0x10]
cmp ecx, 0xffffffff
je 0x49556c
movzx eax, byte [ebx + 0xd2]
shr eax, 7
cmp ecx, eax
je 0x49556c
mov eax, dword [ebp - 4]
add esi, 0x20
cmp esi, edx
jne 0x4954c5
movzx eax, word [ebx + 4]
mov edi, eax
cwde
push eax
call fcn.0044f3d0
test al, al
je 0x4956b0
xor ecx, ecx
movsx edx, di
mov eax, 0x637c5c
nop
cmp ecx, 0xe
ja 0x495552
cmp dword [eax], ecx
jne 0x495552
cmp dword [eax + 4], edx
je 0x4956a2
add eax, 0xb4
inc ecx
cmp eax, 0x6386e8
jl 0x495540
xor eax, eax
cdq
mov esi, edx
mov dword [ebp - 4], esi
jmp 0x4958b8
mov edi, dword [esi]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 8], edi
push eax
mov ecx, 0x9ed0e8
call fcn.00405650
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x9ed0e8]
cmp byte [eax + 0xd], 0
jne 0x495597
cmp edi, dword [eax + 0x10]
jge 0x495599
mov eax, ecx
cmp eax, ecx
je 0x4955e1
cmp dword [eax + 0x18], 0
je 0x4955e1
cmp edi, 0x807
je 0x4955e1
cmp edi, 0x80f
je 0x4955e1
movd xmm0, dword [esi + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x20]
cvttss2si edi, xmm0
movd xmm0, dword [esi + 0x1c]
cvtdq2ps xmm0, xmm0
mov dword [ebx + 0x108], 0
mulss xmm0, dword [ebx + 0x20]
cvttss2si ecx, xmm0
jmp 0x4955f4
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [ebx + 0x108], eax
test eax, eax
jne 0x49563e
cmp edi, 0x64
jb 0x49561f
mov eax, 0xcccccccd
mul edi
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
cmp edx, 0x3e8
jb 0x495621
mov eax, 0x51eb851f
mul edx
shr edx, 5
imul edx, edx, 0x64
jmp 0x495621
mov edx, edi
mov dword [ebx + 0x7c], edx
test ecx, ecx
jns 0x495636
mov eax, 0x55555556
imul edi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebx + 0x78], ecx
jmp 0x49541a
cmp eax, 1
jne 0x495656
mov dword [ebx + 0xe8], edi
mov dword [ebx + 0xec], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x49566e
mov dword [ebx + 0xf0], edi
mov dword [ebx + 0xf4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x495686
mov dword [ebx + 0xf8], edi
mov dword [ebx + 0xfc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x49551f
mov dword [ebx + 0x100], edi
mov dword [ebx + 0x104], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x50]
cdq
mov esi, edx
mov dword [ebp - 4], esi
jmp 0x4958b8
mov eax, dword [ebp - 0x94]
test eax, eax
jle 0x4957b4
imul eax, eax
lea ecx, [eax + eax*4]
mov eax, 0x2aaaaaab
add ecx, ecx
imul ecx
mov ecx, 0x1c00
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov edi, eax
mov dword [ebp - 0xc], eax
movzx eax, word [ebx + 4]
mov esi, edx
mov dword [ebp - 4], esi
cmp ax, cx
jl 0x4958ba
mov ecx, 0x1c08
cmp ax, cx
jg 0x4958ba
mov ecx, 0x1c03
cmp ax, cx
je 0x495715
mov ecx, 0x1c06
cmp ax, cx
jne 0x495721
shld esi, edi, 1
add edi, edi
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], edi
mov cl, byte [ebx + 6]
mov eax, 1
movss xmm0, dword [ebx + 0x20]
shl eax, cl
cdq
mov edi, eax
mov esi, edx
call fcn.00545fb0
push edx
push eax
push esi
push edi
call fcn.00545be0
mov ecx, dword [ebp - 4]
push ecx
push dword [ebp - 0xc]
push edx
push eax
call fcn.00545be0
mov esi, edx
mov ecx, eax
test esi, esi
jl 0x49576a
jg 0x495763
cmp ecx, 0xb2d05e00
jbe 0x49576a
mov ecx, 0xb2d05e00
xor esi, esi
cmp ecx, 0xa
jb 0x495780
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
jmp 0x495782
mov eax, ecx
push 0
push 3
push esi
push ecx
mov dword [ebx + 0x7c], eax
call fcn.00545980
mov ecx, eax
cmp ecx, 0xa
jb 0x495443
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
mov dword [ebx + 0x78], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [ebx + 6]
lea esi, [ebx + 0x2a]
mov eax, dword [ebp - 0xc4]
lea edx, [eax + ecx*2]
add edx, ecx
xor ecx, ecx
lea eax, [ecx - 3]
cmp eax, 5
ja 0x4957e0
cmp word [esi], 0
je 0x4957e0
mov eax, 0x1800
cmp di, ax
jl 0x4957eb
inc ecx
add esi, 2
cmp ecx, 0xe
jl 0x4957c8
jmp 0x4957ee
add edx, 0x19
movzx ecx, word [ebx + 4]
mov edi, 0x1824
movsx eax, cx
mov esi, ecx
sub eax, 0x1800
mov dword [ebp - 0xc], 0x182b
mov dword [ebp - 0x14], 0x1832
mov dword [ebp - 4], 0x1906
mov dword [ebp - 8], 0x1909
cmp eax, 0x200
jae 0x4958fb
mov eax, 0x1806
cmp cx, ax
jle 0x495837
cmp cx, di
jl 0x495841
cmp cx, word [ebp - 0xc]
jle 0x4958fb
cmp cx, word [ebp - 0x14]
je 0x4958fb
cmp cx, word [ebp - 4]
jl 0x49585b
cmp cx, word [ebp - 8]
jle 0x4958fb
xor ecx, ecx
movsx esi, si
mov eax, 0x63d1e4
cmp ecx, 0x63
ja 0x495877
cmp dword [eax], ecx
jne 0x495877
cmp dword [eax + 4], esi
je 0x4958fb
add eax, 0x78
inc ecx
cmp eax, 0x6400c4
jl 0x495865
mov eax, edx
imul eax, edx
imul eax, edx
add eax, 0x64
cmp word [ebx + 0x2e], 0x55
cdq
mov esi, edx
mov edi, eax
mov dword [ebp - 4], esi
jne 0x4958ba
movzx eax, byte [ebx + 0x9e]
cdq
add eax, 1
push esi
push edi
adc edx, 0
push edx
push eax
call fcn.00545be0
mov esi, edx
mov dword [ebp - 4], edx
mov edi, eax
cmp byte [ebx + 0xd2], 0
jge 0x4958e0
push 0
mov ecx, edi
mov eax, esi
shld eax, ecx, 4
push 0x64
shl ecx, 4
push eax
push ecx
call fcn.00545980
add edi, eax
adc esi, edx
mov dword [ebp - 4], esi
xor eax, eax
cmp byte [eax + ebx + 0xd3], 0xff
jne 0x495d95
inc eax
cmp eax, 5
jl 0x4958e2
jmp 0x495f17
movzx ecx, word [ebx + 4]
movsx eax, cx
sub eax, 0x1a00
cmp eax, 0x200
jb 0x495882
movsx eax, cx
sub eax, 0x1e00
cmp eax, 0x200
jb 0x495882
movsx eax, word [ebx + 6]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.default.0x495931
jmp dword [eax*4 + 0x495fd0]
add edx, 4
jmp case.default.0x495931
add edx, 0xa
jmp case.default.0x495931
add edx, 0x19
jmp case.default.0x495931
add edx, 0x2d
jmp case.default.0x495931
add edx, 0x41
jmp case.default.0x495931
add edx, 0x5f
jmp case.default.0x495931
add edx, 0x87
jmp case.default.0x495931
add edx, 0xb9
jmp case.default.0x495931
add edx, 0xf5
jmp case.default.0x495931
add edx, 0x131
jmp case.default.0x495931
add edx, 0x16d
mov eax, 0x1800
cmp cx, ax
jl 0x495992
mov esi, 0x1806
mov eax, ecx
cmp cx, si
jle 0x4959fa
cmp cx, di
jl 0x49599f
mov eax, ecx
cmp cx, word [ebp - 0xc]
jle 0x4959fa
mov eax, ecx
cmp cx, word [ebp - 0x14]
je 0x4959fa
cmp cx, word [ebp - 4]
jl 0x4959b3
cmp cx, word [ebp - 8]
jle 0x4959fa
movzx edi, word [ebx + 4]
xor ecx, ecx
movsx esi, di
mov eax, 0x63d1e4
cmp ecx, 0x63
ja 0x4959cf
cmp dword [eax], ecx
jne 0x4959cf
cmp dword [eax + 4], esi
je 0x4959f8
add eax, 0x78
inc ecx
cmp eax, 0x6400c4
jl 0x4959c1
movzx eax, word [ebx + 4]
mov dword [ebp - 8], eax
lea eax, [edx + 0x28]
imul eax, edx
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 0x64
jmp 0x495a11
mov eax, edi
movzx eax, ax
mov dword [ebp - 8], eax
lea eax, [edx + 0x28]
imul eax, edx
imul eax, edx
imul eax, eax, 0xb
add eax, 0x2625a00
cdq
mov ecx, edx
mov dword [ebp - 0xc], eax
mov edx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
mov edi, edx
mov esi, ecx
test ax, ax
js 0x495a63
mov dword [ebp - 8], 0xc00
cmp ax, word [ebp - 8]
jge 0x495a63
cmp dword [ebp - 0xb4], 0
jne 0x495a63
mov eax, edx
shld ecx, eax, 2
push 0
shl eax, 2
add edx, eax
mov eax, esi
push 0x64
adc eax, ecx
shld eax, edx, 4
shl edx, 4
push eax
push edx
call fcn.00545980
mov edi, eax
mov esi, edx
xor eax, eax
movzx ecx, word [ebx + 4]
mov dword [ebp - 4], eax
nop dword [eax]
cmp word [ebx + eax*2 + 0x2a], 0
mov edx, edi
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
je case.default.0x495a8d
cmp eax, 8
ja case.default.0x495a8d
jmp dword [eax*4 + 0x495ffc]
push 0
push 0x96
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
add edi, eax
mov eax, dword [ebp - 4]
adc esi, edx
inc eax
jmp 0x495a65
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
add edi, eax
mov eax, dword [ebp - 4]
adc esi, edx
inc eax
jmp 0x495a65
mov al, byte [ebx + 0x9e]
cmp al, 1
jne 0x495b62
mov ecx, edi
mov eax, esi
shld eax, ecx, 4
push 0
shl ecx, 4
sub ecx, edi
push 0x64
sbb eax, esi
shld eax, ecx, 2
shl ecx, 2
push eax
push ecx
call fcn.00545980
mov edi, eax
mov esi, edx
add edi, dword [ebp - 0xc]
mov al, byte [ebx + 0x9e]
adc esi, dword [ebp - 8]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], esi
cmp al, 3
jne 0x495b9a
push 0
push 0x118
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
mov edi, eax
mov esi, edx
add edi, dword [ebp - 8]
adc esi, dword [ebp - 0xc]
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov eax, dword [ebp - 0x28]
add edi, eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
adc esi, edx
inc eax
jmp 0x495a65
mov esi, dword [ebp - 8]
mov edi, edx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], esi
cmp al, 2
jne 0x495b16
push 0
push 0x8c
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
mov edi, eax
mov esi, edx
add edi, dword [ebp - 8]
mov al, byte [ebx + 0x9e]
adc esi, dword [ebp - 0xc]
cmp al, 4
jne 0x495b47
push 0
push 0x230
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
add edi, eax
mov eax, dword [ebp - 4]
adc esi, edx
inc eax
jmp 0x495a65
mov edx, 0x1800
cmp cx, dx
jge 0x495bdd
mov edx, edi
mov dword [ebp - 8], esi
add edi, edx
adc esi, esi
inc eax
jmp 0x495a69
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
movzx ecx, word [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
add edi, edx
adc esi, dword [ebp - 8]
inc eax
jmp 0x495a69
mov edx, 0x1800
cmp cx, dx
jge 0x495c27
mov edx, edi
mov dword [ebp - 8], esi
add edi, edx
adc esi, esi
inc eax
jmp 0x495a69
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
movzx ecx, word [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
add edi, edx
adc esi, dword [ebp - 8]
inc eax
jmp 0x495a69
mov edx, 0x1800
cmp cx, dx
jge 0x495c71
mov edx, edi
mov dword [ebp - 8], esi
add edi, edx
adc esi, esi
inc eax
jmp 0x495a69
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
movzx ecx, word [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
add edi, edx
adc esi, dword [ebp - 8]
inc eax
jmp 0x495a69
mov edx, 0x1800
cmp cx, dx
jge 0x495cbb
mov edx, edi
mov dword [ebp - 8], esi
add edi, edx
adc esi, esi
inc eax
jmp 0x495a69
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
movzx ecx, word [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
add edi, edx
adc esi, dword [ebp - 8]
inc eax
jmp 0x495a69
mov edx, 0x1800
cmp cx, dx
jge 0x495d05
mov edx, edi
mov dword [ebp - 8], esi
add edi, edx
adc esi, esi
inc eax
jmp 0x495a69
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
movzx ecx, word [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
add edi, edx
adc esi, dword [ebp - 8]
inc eax
jmp 0x495a69
mov edx, 0x1800
cmp cx, dx
jge 0x495d4f
mov edx, edi
mov dword [ebp - 8], esi
add edi, edx
adc esi, esi
inc eax
jmp 0x495a69
push 0
push 0x19
push esi
push edi
call fcn.00545be0
push 0
push 0x64
push edx
push eax
call fcn.00545980
movzx ecx, word [ebx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
add edi, edx
adc esi, dword [ebp - 8]
inc eax
jmp 0x495a69
inc eax
mov dword [ebp - 4], eax
cmp eax, 0xe
jl 0x495a70
mov dword [ebp - 4], esi
jmp 0x4958ba
cmp byte [ebx + 0xd3], 0xff
push esi
setne cl
mov al, cl
inc al
cmp byte [ebx + 0xd4], 0xff
movzx edx, al
movzx eax, cl
cmove edx, eax
mov al, dl
inc al
cmp byte [ebx + 0xd5], 0xff
movzx ecx, al
movzx eax, dl
cmove ecx, eax
mov al, cl
inc al
cmp byte [ebx + 0xd6], 0xff
movzx edx, al
movzx eax, cl
cmove edx, eax
mov al, dl
inc al
cmp byte [ebx + 0xd7], 0xff
movzx ecx, al
movzx eax, dl
cmove ecx, eax
movzx eax, cl
cdq
push edi
push edx
push eax
call fcn.00545be0
mov ecx, eax
mov esi, edx
shld esi, ecx, 2
push 0
shl ecx, 2
add eax, ecx
push 0x64
adc edx, esi
shld edx, eax, 4
shl eax, 4
push edx
push eax
call fcn.00545980
mov ecx, dword [ebp - 4]
add edi, eax
mov dword [ebp - 0xc], edi
adc ecx, edx
mov dword [ebp - 4], ecx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
lea esi, [ecx + 0x32]
nop word [eax + eax]
mov al, byte [eax + ebx + 0xd3]
cmp al, 0xff
je 0x495efa
cmp al, 0xfe
je 0x495efa
movzx ecx, al
xor edx, edx
mov eax, ecx
div esi
mov eax, 0x51eb851f
mov esi, edx
mul ecx
shr edx, 4
cmp esi, 0x31
ja 0x495ef2
mov eax, esi
shl eax, 4
add eax, esi
cmp dword [eax*4 + 0xbf0bfc], esi
lea eax, [eax*4 + 0xbf0bfc]
jne 0x495ef2
test eax, eax
je 0x495ef2
lea ecx, [edx + edx*2]
lea edi, [ecx*2 + 0x1863]
mov ecx, 0x9ed0c4
add edi, dword [eax + 4]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x20], edi
push eax
call fcn.00405650
mov esi, dword [ebp - 0x2c]
cmp byte [esi + 0xd], 0
jne 0x495ec8
cmp edi, dword [esi + 0x10]
jl 0x495ec8
mov edx, dword [0x9ed0c4]
jmp 0x495ed0
mov edx, dword [0x9ed0c4]
mov esi, edx
cmp esi, edx
je 0x495ef2
add esi, 0x14
lea edi, [ebp - 0x1f8]
mov ecx, 0x38
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x170]
mov dword [ebp - 0x14], ecx
jmp 0x495ef5
mov ecx, dword [ebp - 0x14]
mov esi, 0x32
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, 5
jl 0x495e40
mov edi, dword [ebp - 0xc]
mov eax, ecx
mov esi, dword [ebp - 4]
cdq
add edi, eax
adc esi, edx
cmp edi, 0x64
jb 0x495f42
mov eax, 0xcccccccd
mul edi
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
cmp ecx, 0x3e8
jb 0x495f44
mov eax, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
jmp 0x495f44
mov ecx, edi
push 0
push 3
push esi
push edi
mov dword [ebx + 0x7c], ecx
call fcn.00545980
cmp dword [ebp - 0x114], 0xb
mov esi, eax
ja 0x495f9d
movss xmm1, dword [ebx + 0x20]
divss xmm1, dword [ebx + 0x24]
shr eax, 0x1f
movss xmm0, dword [0x56a724]
subss xmm0, xmm1
movd xmm1, esi
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x56a8c0]
mulsd xmm1, qword [0x56a770]
mulsd xmm0, xmm1
call fcn.00546020
sub esi, eax
cmp esi, 0x64
jb 0x495fc6
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea esi, [edx + edx*4]
add esi, esi
cmp esi, 0x3e8
jb 0x495fc6
mov eax, 0x51eb851f
mul esi
shr edx, 5
imul esi, edx, 0x64
mov dword [ebx + 0x78], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret