Function at 0x416c30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
fld dword [0x474c30]
mov eax, 0xffff99a7
fsub dword [0x4763b8]
sub esp, 0x76c
fadd dword [0x47f9ac]
fstp dword [0x47f9ac]
mov word [0x46a908], ax
mov ecx, dword [0x43f23c]
add ecx, 0x31a8196f
and ecx, 0x93017876
cmp ecx, 0xff62fbfb
jge 0x416c88
fld dword [0x47e0e0]
fadd qword [0x44d8c0]
fstp dword [0x47e0e0]
push esi
mov esi, 1
add word [0x46bb3e], si
mov dx, word [0x46bb3e]
movsx eax, dx
xor eax, 0x22109732
push edi
cmp eax, 0xfffdafff
jne 0x416ccf
mov cx, word [0x46e1ca]
movsx edx, cx
add edx, 0x252e067f
cmp edx, 0x2151b376
jge 0x416ccf
mov eax, dword [0x4463ac]
dec dword [0x4463ac]
fld dword [0x474654]
lea ecx, [ebp - 0x18]
fsub qword [0x45bb78]
fstp dword [0x474654]
fld dword [0x47a950]
fmul dword [0x47c4dc]
fstp dword [0x47c6ac]
call fcn.0040f680
mov eax, dword [0x43d2f4]
movzx ecx, word [0x46e0f6]
imul eax, eax, 0x440e44cc
and eax, 0xc82421aa
imul ecx, eax
mov word [0x46e0f6], cx
mov edx, dword [0x4493cc]
and edx, 0x914b1d97
cmp edx, 0x40f9a93d
jle 0x416d3a
xor dword [0x43cc54], 0xce9539b1
fld dword [0x476de8]
fmul dword [0x478f88]
fadd dword [0x479f98]
fadd dword [0x47cd48]
fstp dword [0x47cd48]
fld dword [0x476de8]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x476de8]
fadd dword [0x479f98]
fstp dword [0x479f98]
mov eax, dword [0x43eda0]
not eax
and eax, 0xad534535
cmp eax, 0xa7668c0d
jle 0x416dd5
add dword [0x44235c], esi
mov ecx, dword [0x44235c]
add ecx, 0x2e7afdf2
xor ecx, 0x7f344c27
cmp ecx, 0x777eef7e
je 0x416dc1
mov eax, dword [0x441f64]
add eax, 0xf54d744f
and dword [0x44afa0], eax
add dword [0x441f64], esi
jmp 0x416df3
fld dword [0x47a5b0]
fmul qword [0x462228]
fstp dword [0x47a5b0]
jmp 0x416df3
fld dword [0x47e6f8]
fmul dword [0x47a474]
fsub qword [0x45d610]
fadd dword [0x472f74]
fstp dword [0x472f74]
add dword [0x44a1c8], 0xdf7ffe00
and dword [0x44257c], 0x8f36eca4
push 0
call fcn.00407a90
add esp, 4
add eax, 0x258
adc edx, 0
mov dword [ebp - 0x24], edx
mov edx, dword [0x447954]
sar edx, 0xa
or edx, 0xffbb8fce
cmp edx, 0x4b01dfa9
mov dword [ebp - 0x28], eax
jle 0x416e54
fld dword [0x472d70]
fsub dword [0x47d114]
fadd dword [0x47d928]
fadd dword [0x47eb04]
fstp dword [0x47eb04]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x36c], 0
or dword [0x43fdf4], 0xc033022d
push edi
call fcn.00422260
mov ecx, dword [0x448c48]
imul ecx, ecx, 0x1d6cb420
mov edx, 0xe3f83058
sub edx, ecx
mov cx, word [0x46c680]
mov esi, dword [0x4492b8]
movsx ecx, cx
imul ecx, ecx, 0x7b52ff00
or esi, ecx
add esp, 4
cmp edx, esi
jle 0x416eaa
add dword [0x446bbc], 0x9d50a9bd
cmp eax, 0x7f
jle 0x416ebd
lea ecx, [ebp - 0x18]
call fcn.00427720
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x447e68]
mov edx, dword [0x4407cc]
shl ecx, 8
sub edx, ecx
cmp edx, 0x90000104
je 0x416ef6
fld dword [0x47211c]
fld dword [0x4749d4]
fmul dword [0x4738a0]
fadd qword [0x44cab0]
fsubp st(1)
fstp dword [0x47211c]
xor ecx, ecx
push ebx
test eax, eax
jl 0x416ff5
lea edx, [ebp - 0x16c]
mov esi, edi
sub esi, edx
mov edx, 0x210014
and dword [0x4409b8], 0xc550837c
lea ebx, [esi + ecx]
mov bl, byte [ebp + ebx - 0x16c]
mov byte [ebp + ecx - 0x16c], bl
and dword [0x43e410], edx
cmp byte [ebp + ecx - 0x16c], 0x2f
je 0x416f4f
inc ecx
cmp ecx, eax
mov dword [0x4405c4], 0xecd6cc73
jle 0x416f10
jmp 0x416ff5
dec dword [0x43c9d4]
mov edx, dword [0x449614]
mov esi, dword [0x43c9d4]
and edx, esi
cmp ecx, eax
mov dword [0x449614], edx
fld dword [0x47c588]
fmul qword [0x44ce68]
mov byte [ebp + ecx - 0x16c], 0
fmul dword [0x47a0a0]
fadd dword [0x47d688]
fstp dword [0x47d688]
jg 0x416feb
lea esi, [ebp - 0x36c]
sub esi, ecx
jmp 0x416fa0
fld qword [0x4594a8]
inc ecx
fmul qword [0x45ff00]
fadd dword [0x479fe8]
fmul dword [0x4789a8]
fstp dword [0x4789a8]
mov dl, byte [ecx + edi - 1]
mov ebx, dword [0x44b11c]
mov byte [esi + ecx - 1], dl
shl ebx, 7
mov edx, 0x9d1bc41f
sub edx, ebx
movzx ebx, word [0x46c8ca]
xor ebx, edx
cmp ecx, eax
mov word [0x46c8ca], bx
jle 0x416fa0
xor dword [0x43e994], 0x7258caf3
mov eax, dword [0x440f20]
mov ecx, dword [0x43fd30]
mov esi, dword [ebp + 0xc]
xor eax, ecx
xor eax, 0x1680044c
push esi
mov dword [0x440f20], eax
call fcn.00422260
lea edx, [ebp - 0x36c]
push edx
mov edi, eax
call fcn.00422260
add edi, eax
add esp, 8
cmp edi, 0x1ff
ja 0x41803f
xor dword [0x4433e8], 0xaffe75ef
lea eax, [ebp - 0x36c]
push esi
push eax
call fcn.00407650
mov eax, dword [0x448c4c]
mov ecx, dword [0x4448f4]
dec dword [0x4448f4]
and ecx, 0xb2846468
not eax
add eax, 0x2e0be7ea
xor ecx, 0xd161e4d5
add esp, 8
cmp ecx, eax
jl 0x417082
xor dword [0x43f7d8], 0x5f575bef
jmp 0x417099
mov eax, dword [0x4445d0]
imul eax, eax, 0xb855fd7c
xor dword [0x446730], eax
inc dword [0x4445d0]
mov edx, dword [0x444ba8]
inc dword [0x444ba8]
or edx, 0xa090e391
xor ebx, ebx
cmp edx, 0x38ea3a5d
je 0x4170bf
mov dword [0x43c4a4], 0x9c05205
push 5
push 0x17aa
call fcn.004331e0
mov esi, eax
mov eax, dword [0x43e9c4]
xor eax, 0x96dd178e
add esp, 8
cmp eax, 0xb64f4832
jg 0x4170f4
mov eax, dword [0x43fb80]
sar eax, 2
or eax, 0x2e5429d8
sub dword [0x4425b4], eax
push esi
lea ecx, [ebp - 0x18]
call fcn.00427870
movzx ecx, word [0x46b27a]
and ecx, 0xafffb4b6
push esi
mov word [0x46b27a], cx
push 5
call fcn.0040a430
mov esi, dword [ebp + 0x10]
fld dword [0x4769bc]
add esp, 8
fadd dword [0x474ed8]
mov ecx, esi
fstp qword [0x44fb00]
call fcn.00436190
test eax, eax
je 0x41739d
mov dx, word [0x46ea10]
mov cx, word [0x46bce8]
dec word [0x46ea10]
movsx eax, dx
imul eax, eax, 0x1c74ff56
movsx edx, cx
and eax, 0xda98cabd
or edx, 0x1c72dad4
cmp eax, edx
je 0x417184
movzx eax, word [0x46de70]
and eax, 0xe13745d3
mov word [0x46de70], ax
jmp 0x41718e
add dword [0x442cf4], 0xeb261213
push 0xc
push 0x3dee
call fcn.004331e0
mov ecx, 0xffffb390
add esp, 8
mov edi, eax
mov word [0x46ee48], cx
push edi
lea ecx, [ebp - 0xec]
call fcn.00424c80
push 0
lea edx, [ebp - 0xec]
push edx
mov ecx, esi
call fcn.0040e040
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], eax
call fcn.0040b670
fld qword [0x462890]
fadd qword [0x464918]
fsub dword [0x47ecfc]
fld qword [0x45eda0]
fadd qword [0x44d948]
fld qword [0x464918]
fsub qword [0x43b0b0]
fstp qword [0x464918]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x41723d
dec dword [0x448b30]
mov eax, dword [0x448b30]
add eax, 0x1ddcb6e1
xor eax, 0xfac0f65d
cmp eax, 0x90b69228
je 0x417247
mov ecx, dword [0x4411e8]
imul ecx, ecx, 0x1a5f0b25
mov dword [0x4411e8], ecx
jmp 0x417247
xor dword [0x44379c], 0xd94c96ee
push edi
push 0xc
call fcn.0040a430
mov edx, dword [0x43df54]
add esp, 8
cmp edx, 0xb72fe91b
jle 0x4172a6
fld dword [0x47a494]
fsub dword [0x47be04]
fadd dword [0x472328]
fld dword [0x47ce80]
fsub qword [0x458b58]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x4172b8
mov eax, dword [0x43f55c]
mov cx, word [0x46ed26]
mov dx, word [0x46a29e]
dec word [0x46a29e]
jmp 0x4172b8
fld dword [0x47956c]
fadd dword [0x477ef4]
fstp dword [0x47956c]
cmp dword [ebp - 4], 0
jne 0x417385
mov eax, dword [0x43fd4c]
movzx ecx, word [0x46b94a]
sar eax, 2
sub ecx, eax
mov word [0x46b94a], cx
mov eax, dword [0x44204c]
not eax
push 0xb
xor eax, 0xa31ad60c
sub dword [0x443798], eax
push 0
mov ecx, esi
mov ebx, 1
call fcn.004218f0
push eax
mov ecx, esi
call fcn.00422510
mov edx, dword [0x4436f0]
not edx
and edx, 0x1df3abca
push 6
mov dword [0x445280], edx
push 0x93f
call fcn.004331e0
mov edi, eax
mov eax, dword [0x444c10]
imul eax, eax, 0x5da96a00
add esp, 8
add eax, 0x7ac63fee
and dword [0x44040c], eax
push edi
lea ecx, [ebp - 0x18]
call fcn.00427870
push edi
fld dword [0x472aa8]
push 6
fld dword [0x475074]
fmul qword [0x454470]
fsubp st(1)
fstp dword [0x47229c]
call fcn.0040a430
fld qword [0x44bac0]
add esp, 8
fsub dword [0x474e34]
fmul dword [0x479920]
fstp dword [0x479920]
mov eax, dword [0x43fccc]
not eax
cmp eax, 0x499bdb70
jne 0x41739d
add dword [0x4462dc], 0x7b8fccb2
fld qword [0x4565a0]
fld dword [0x48014c]
fmul qword [0x4601b8]
fsubp st(1)
fld dword [0x47cec4]
fmul dword [0x47a31c]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x4173d3
or dword [0x441bf0], 0x283654b8
lea ecx, [ebp - 0x36c]
push ecx
lea ecx, [ebp - 0x74]
call fcn.0040fdf0
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
lea ecx, [ebp - 0x74]
call fcn.00427720
mov ax, word [0x470f7c]
movzx edx, word [0x46ff46]
movsx ecx, ax
movsx eax, dx
xor eax, ecx
xor eax, 0xec0f9f11
or dword [0x43e0a0], eax
dec word [0x46ff46]
push 0x32
push 0x189
call fcn.004331e0
add dword [0x44389c], 0x86d9788e
add esp, 8
mov edi, eax
push edi
lea ecx, [ebp - 0x4c]
call fcn.0040fdf0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
lea ecx, [ebp - 0x4c]
call fcn.00427720
fld dword [0x47ba78]
fmul dword [0x47a320]
push edi
push 0x32
fsub dword [0x4807a8]
fmul dword [0x476ff0]
fstp dword [0x476ff0]
fld dword [0x4807a8]
fadd qword [0x43b0b0]
fstp dword [0x4807a8]
call fcn.0040a430
mov eax, dword [0x43fcc4]
movzx ecx, word [0x46c93e]
movsx edx, cx
movzx ecx, word [0x47079c]
not eax
sub eax, edx
lea edx, [ecx + eax - 0x1ecc5b1e]
add esp, 8
lea eax, [ebp - 0x16c]
mov word [0x47079c], dx
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040fdf0
lea ecx, [ebp - 0x9c]
push ecx
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
lea ecx, [ebp - 0x9c]
call fcn.00427720
movzx edx, word [0x46e8b4]
xor edx, 0xa8814e9
mov word [0x46e8b4], dx
test ebx, ebx
je 0x417677
fld dword [0x47608c]
fld dword [0x47fee4]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x417528
fld dword [0x47f4dc]
fsub dword [0x4732d4]
fstp dword [0x47f4dc]
push 0x44
push 0x3179
call fcn.004331e0
mov edi, eax
mov eax, dword [0x43dd44]
add esp, 8
xor eax, 0x102e0c8a
and dword [0x448b40], eax
inc dword [0x43dd44]
push edi
lea ecx, [ebp - 0xd8]
call fcn.0040fdf0
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
lea ecx, [ebp - 0xd8]
call fcn.00427720
or dword [0x4434e8], 0xf56f7a5f
push 3
push 0x7b3
call fcn.004331e0
movzx ecx, word [0x46a724]
sub ecx, 0x715c34b3
push edi
mov word [0x46a724], cx
push 0x44
mov dword [ebp - 4], eax
call fcn.0040a430
mov edx, dword [0x4414c4]
or edx, 0x27cf87c2
add esp, 0x10
cmp edx, 0xa8b5aa71
jne 0x4175e1
fld dword [0x471cd8]
fsub qword [0x455a68]
fadd qword [0x456188]
fadd qword [0x45d288]
fstp qword [0x45d288]
jmp 0x4175ec
mov eax, 0xfe7
mov word [0x46c76a], ax
mov ecx, esi
call fcn.00436190
mov edi, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x76c]
push edi
push ecx
call fcn.00420cf0
movzx edx, word [0x46f12c]
imul edx, edx, 0xea8e324
push edi
mov word [0x46f12c], dx
push 3
call fcn.0040a430
and dword [0x43e828], 0x310b7421
add esp, 0x14
lea eax, [ebp - 0x76c]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040fdf0
lea ecx, [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
lea ecx, [ebp - 0xc4]
call fcn.00427720
fld dword [0x47cd44]
fsub qword [0x44d958]
fsub dword [0x47f720]
fadd dword [0x478594]
fstp dword [0x478594]
mov edx, dword [0x442494]
mov eax, dword [0x445d60]
or edx, eax
or edx, 0x63ccec29
push 5
mov dword [0x442494], edx
push 0x2cfe
call fcn.004331e0
mov ecx, dword [0x447f44]
not ecx
imul ecx, ecx, 0x65abdf40
add esp, 8
mov edi, eax
mov dword [0x4431b0], ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.0040fdf0
lea edx, [ebp - 0x60]
push edx
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
lea ecx, [ebp - 0x60]
call fcn.00427720
mov eax, dword [0x443460]
imul eax, eax, 0x27a348cb
push edi
mov dword [0x443460], eax
push 5
call fcn.0040a430
mov eax, dword [0x448a68]
not eax
or eax, 0xffe9fff3
xor dword [0x440838], eax
add esp, 8
test ebx, ebx
je 0x41770c
push esi
lea ecx, [ebp - 0x18]
call fcn.0040c3e0
mov ecx, dword [0x43f6fc]
mov edx, dword [0x43d764]
push 6
push 1
or ecx, edx
mov dword [0x43f6fc], ecx
push 2
call dword [0x471728]
or dword [0x43fcd8], 0x8d56f527
mov edi, eax
mov dword [ebp - 4], edi
cmp edi, 0xffffffff
jne 0x4177b0
fld dword [0x4792b8]
fld dword [0x477220]
fld dword [0x4792b8]
fsub qword [0x43b0b0]
fstp dword [0x4792b8]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x41803f
mov eax, dword [0x43d8d0]
mov cx, word [0x46a422]
imul eax, eax, 0x5f382a97
inc dword [0x43d8d0]
movsx edx, cx
xor edx, eax
cmp edx, 0xb6d2f91e
je 0x41803f
add dword [0x446b04], 0xdee917f4
lea ecx, [ebp - 0x18]
call fcn.00427720
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
fld dword [0x47c398]
cmp dword [ebp + 0x14], 0
fstp dword [0x476ce0]
je 0x417805
or dword [0x444e1c], 0x7b7b598a
push 4
lea eax, [ebp + 0x14]
push eax
push 0x1006
push 0xffff
push edi
call dword [0x480a60]
mov ecx, dword [0x440e58]
sar ecx, 0xa
mov edx, 0x4f4078df
sub edx, ecx
cmp edx, 0x17619ad7
jge 0x417805
mov dword [0x4444d0], 0x740f3f8a
fld dword [0x471f0c]
lea eax, [ebp - 0x16c]
fmul dword [0x47e84c]
push eax
fmul qword [0x44eb88]
fstp qword [0x44eb88]
call dword [0x44b318]
fld dword [0x47b610]
fadd dword [0x476004]
fadd dword [0x474ca0]
fstp dword [0x474ca0]
test eax, eax
je 0x41803f
fld qword [0x44ed88]
mov ecx, 2
fmul qword [0x4548b8]
fstp qword [0x44ed88]
fld qword [0x4548b8]
mov word [ebp - 0x38], cx
fsub qword [0x43b0b0]
fstp qword [0x4548b8]
fld dword [0x474d60]
fadd qword [0x44f428]
fstp qword [0x44f428]
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
push ecx
call dword [0x44b60c]
push eax
call dword [0x44b31c]
mov edx, dword [0x43dc40]
not edx
cmp edx, 0xd2944923
mov dword [ebp - 0x34], eax
jg 0x417913
fld dword [0x47ca84]
fld dword [0x475c48]
fadd dword [0x47817c]
fld dword [0x475c48]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x475c48]
fadd dword [0x47ca84]
fstp dword [0x47ca84]
fcompi st(1)
fstp st(0)
jb 0x417901
mov ax, word [0x46a358]
movsx ecx, ax
mov eax, dword [0x442068]
not eax
and eax, ecx
or dword [0x44025c], eax
jmp 0x417913
fld dword [0x47e238]
fsub dword [0x473018]
fstp dword [0x47e238]
push 0x50
call dword [0x480a5c]
fld dword [0x478b38]
fadd qword [0x44dd98]
mov word [ebp - 0x36], ax
push 0x10
lea ecx, [ebp - 0x38]
fstp dword [0x478b38]
push ecx
fld qword [0x44dd98]
push edi
fsub qword [0x43b0b0]
fstp qword [0x44dd98]
call dword [0x471734]
lea ecx, [ebp - 0x18]
cmp eax, 0xffffffff
jne 0x417984
fld dword [0x472e1c]
fld dword [0x471fb8]
fmul dword [0x476498]
fadd dword [0x473c04]
fsubp st(1)
fstp dword [0x472e1c]
call fcn.00427720
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x43e12c]
movzx edx, word [0x46fdae]
and eax, 0xf7a7ff7d
or eax, 0xb7877a3c
and edx, eax
mov word [0x46fdae], dx
push 0
call fcn.00436190
push eax
lea ecx, [ebp - 0x18]
call fcn.00424c70
push eax
push edi
call dword [0x480a80]
fld qword [0x4517a0]
fsub dword [0x4720ec]
mov edx, eax
fld qword [0x45dc68]
fld qword [0x4517a0]
fadd qword [0x43b0b0]
fstp qword [0x4517a0]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x4179f9
mov dword [0x444d7c], 0xba3ffc4d
jmp 0x417a1e
mov ecx, dword [0x448b54]
mov eax, dword [0x4438e8]
sar ecx, 3
add ecx, 0xf7101c1e
or eax, ecx
mov ecx, dword [0x444aa0]
imul ecx, eax
mov dword [0x444aa0], ecx
lea ecx, [ebp - 0x18]
call fcn.00436190
cmp edx, eax
jae 0x417a6e
fld dword [0x4760f4]
fadd dword [0x473394]
fld dword [0x4735d4]
fmul dword [0x4769e0]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x41803f
mov eax, dword [0x43f9bc]
or eax, 0x6ff1fd68
and dword [0x44af54], eax
call fcn.00427720
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x446e40]
mov edx, dword [0x444b84]
imul eax, edx
sub dword [0x446628], eax
mov ecx, esi
call fcn.00422070
add dword [0x444b34], 0x2cdd0456
movzx eax, word [0x46a214]
or ebx, 0xffffffff
or eax, 0x79111004
mov dword [ebp - 0x1c], ebx
mov word [0x46a214], ax
jmp 0x417ab0
mov ecx, dword [0x440d90]
cmp ecx, 0x8f3999f
jle 0x417aca
xor dword [0x448b10], 0x767b6f52
jmp 0x417afb
dec word [0x46bae4]
mov dx, word [0x46bae4]
movsx eax, dx
sub eax, 0x1a40e1c
cmp eax, 0xfba10dd1
jge 0x417afb
movzx ecx, word [0x46cd20]
imul ecx, ecx, 0xb3b496f1
mov word [0x46cd20], cx
mov eax, dword [ebp - 4]
push 0
push 0x400
lea edx, [ebp - 0x76c]
push edx
push eax
call dword [0x480a50]
mov edi, eax
mov eax, dword [0x43cbfc]
add eax, 0x190f16e3
or eax, 0xae727ee5
sub dword [0x444f44], eax
inc dword [0x43cbfc]
test edi, edi
jle 0x417f76
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
push ecx
push edx
call fcn.00431b00
add esp, 8
test eax, eax
jne 0x417f76
movzx eax, word [0x46d1a8]
imul eax, eax, 0xe7cf8dfb
mov word [0x46d1a8], ax
push 0
mov ecx, esi
call fcn.00436190
add eax, edi
push eax
call fcn.0041f910
fld dword [0x475eec]
mov ecx, esi
fadd qword [0x4535a8]
fstp dword [0x475eec]
call fcn.0041fc90
test eax, eax
je 0x417f76
mov eax, dword [0x43ede8]
movzx ecx, word [0x46c668]
and eax, 0xf1f67db0
or ecx, eax
mov word [0x46c668], cx
push edi
lea edx, [ebp - 0x76c]
push edx
mov ecx, esi
call fcn.004160d0
mov dword [0x4420b4], 0xa802401
test ebx, ebx
jge 0x417e62
fld qword [0x45c8c0]
push 5
fsub dword [0x47fb18]
push 0x2cfe
fsub qword [0x463128]
fmul dword [0x47f490]
fstp dword [0x47f490]
fld qword [0x45c8c0]
fsub qword [0x43b0b0]
fstp qword [0x45c8c0]
call fcn.004331e0
mov edi, eax
mov ax, word [0x46fe70]
mov ecx, dword [0x440318]
cwde
and ecx, eax
add esp, 8
mov word [0x46fe70], cx
push edi
lea ecx, [ebp - 0x88]
call fcn.00424c80
push 0
lea edx, [ebp - 0x88]
push edx
mov ecx, esi
call fcn.0040e040
lea ecx, [ebp - 0x88]
mov ebx, eax
call fcn.0040b670
mov eax, dword [0x447b68]
add eax, 0x13d7b399
cmp eax, 0xb75596cb
jge 0x417c83
mov eax, dword [0x443050]
movzx ecx, word [0x46a4c0]
or eax, 0x1d7cf725
xor ecx, eax
mov word [0x46a4c0], cx
dec dword [0x443050]
jmp 0x417cb0
mov dx, word [0x46d1ba]
mov ecx, dword [0x447b14]
inc word [0x46d1ba]
movsx eax, dx
and ecx, eax
cmp ecx, 0x6e2eed79
je 0x417cb0
mov edx, 0xffffac57
mov word [0x46fcb6], dx
push edi
push 5
call fcn.0040a430
add esp, 8
mov eax, 0xffffc70f
mov word [0x46d4e6], ax
test ebx, ebx
jl 0x417e3d
mov eax, dword [0x4400ec]
or eax, 0xd7db8141
sub dword [0x44266c], eax
inc dword [0x4400ec]
xor dword [0x43e898], 0x105007
add ebx, 4
push esi
mov dword [ebp - 0x20], ebx
call fcn.00404400
add dword [0x44a218], 0xa30db083
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jge 0x417e33
dec dword [0x43f6d0]
mov eax, dword [0x446978]
mov ecx, dword [0x43f6d0]
shl eax, 9
add ecx, eax
mov eax, dword [0x446604]
or eax, ecx
and dword [0x442cec], eax
push 0xb
push 0x3784
call fcn.004331e0
movzx edx, word [0x46b488]
add esp, 8
mov edi, eax
and edx, 0x45024001
mov word [0x46b488], dx
push edi
lea ecx, [ebp - 0xb0]
call fcn.00424c80
push 0
lea eax, [ebp - 0xb0]
push eax
mov ecx, esi
call fcn.0040e040
lea ecx, [ebp - 0xb0]
mov ebx, eax
call fcn.0040b670
fld dword [0x47ebac]
fld qword [0x45e9a8]
fld dword [0x47a238]
fmulp st(2)
fld qword [0x45e9a8]
fadd qword [0x43b0b0]
fstp qword [0x45e9a8]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x417dcb
fld qword [0x45cde8]
fsub dword [0x47251c]
fsub qword [0x460f20]
fstp qword [0x44c868]
push edi
push 0xb
call fcn.0040a430
fld dword [0x478ac4]
fld dword [0x47efac]
add esp, 8
fadd dword [0x47f39c]
test ebx, ebx
mov ebx, dword [ebp - 0x20]
fadd qword [0x45bfc0]
fsubp st(1)
fstp dword [0x478ac4]
fld qword [0x45bfc0]
fadd qword [0x43b0b0]
fstp qword [0x45bfc0]
jge 0x417f76
fld dword [0x47b5c0]
fld dword [0x47bfbc]
fsub dword [0x472270]
fadd dword [0x4791e0]
fsubp st(1)
fstp dword [0x47b5c0]
or dword [0x43d4d0], 0xceef3daf
mov eax, dword [0x4468a0]
mov ecx, dword [0x4406bc]
mov edx, dword [0x446680]
sar eax, 2
imul eax, eax, 0xc3daf340
or ecx, eax
imul edx, ecx
mov dword [0x446680], edx
fld dword [0x475e40]
mov edx, dword [ebp - 0x1c]
fsub qword [0x468548]
fmul dword [0x475738]
fstp dword [0x475738]
fld dword [0x475e40]
fadd qword [0x43b0b0]
fstp dword [0x475e40]
test edx, edx
jl 0x417ea4
mov ecx, esi
call fcn.00436190
sub eax, ebx
cmp eax, edx
jae 0x417f76
add dword [0x4430f8], 0x9094af2c
cmp dword [ebp + 0x14], 0x3aa6
jne 0x417f21
add dword [0x440dbc], 0xba5d1201
mov ecx, esi
call fcn.00436190
cmp eax, 0x500000
ja 0x417f6c
fld qword [0x4508b0]
fsub dword [0x47e888]
fld qword [0x465878]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x417f01
movzx eax, word [0x46a290]
xor eax, 0x739f00a7
mov word [0x46a290], ax
jmp 0x417f21
inc dword [0x448114]
mov ecx, dword [0x448114]
or ecx, 0xae3efd8
cmp ecx, 0x8008002
jge 0x417f21
mov edx, dword [0x446390]
mov eax, dword [0x44758c]
mov ecx, dword [0x44715c]
inc dword [0x44758c]
or eax, ecx
cmp eax, 0x9e0c8678
jne 0x417ab0
inc dword [0x447110]
mov edx, dword [0x447110]
add edx, 0x3ef3c112
cmp edx, 0xe2b0a486
jg 0x417ab0
add dword [0x43e204], 0xbdce8a3c
jmp 0x417ab0
and dword [0x43d4ac], 0x7bb1d508
fld dword [0x4737cc]
mov eax, dword [ebp - 4]
fmul dword [0x477cc8]
push eax
fmul qword [0x452bc8]
fstp qword [0x452bc8]
call dword [0x480ae4]
mov ecx, dword [0x43c2fc]
mov eax, dword [0x43ee7c]
not ecx
and eax, ecx
mov ecx, dword [0x43c348]
shl ecx, 7
xor eax, 0x5d25b8f7
or ecx, 0x99e169bc
cmp ecx, eax
jle 0x417fd9
fld dword [0x47d420]
fld dword [0x475910]
fmul dword [0x47d7e4]
fsubp st(1)
fstp dword [0x47d420]
test ebx, ebx
jl 0x41802b
add dword [0x442fbc], 0xe0800058
push ebx
push 0
mov ecx, esi
call fcn.004218f0
push eax
mov ecx, esi
call fcn.00422510
fld dword [0x47ed10]
fld dword [0x480668]
fmul dword [0x473b38]
fadd qword [0x468720]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x41802b
fld dword [0x47a9d4]
fmul qword [0x466e18]
fstp qword [0x467bc0]
movzx edx, word [0x46db70]
imul edx, edx, 0xb8b80837
mov word [0x46db70], dx
lea ecx, [ebp - 0x18]
call fcn.00427720
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret