Function at 0x42097b
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
push 8
call fcn.0042f68d
add esp, 4
mov dword [ebp - 0x4c], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
jmp 0x420a56
fninit
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 4], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 8], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0xc], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x10], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x14], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x18], eax
cmp dword [0x4f3584], 0xfffffff6
jne 0x420bf6
fld qword [0x4f3588]
fsub qword [0x4bea05]
ftst
fnstsw ax
test ah, 1
je 0x420ba0
fchs
fcomp qword [0x4bea84]
fnstsw ax
test ah, 0x41
je 0x420bf6
fld dword [0x4f3590]
fstp qword [ebp - 0x70]
fld qword [ebp - 0x70]
fsub qword [0x4bf0d7]
ftst
fnstsw ax
test ah, 1
je 0x420bd4
fchs
fcomp qword [0x4bea84]
fnstsw ax
test ah, 0x41
je 0x420bf6
cmp byte [0x4f3594], 0x1e
jne 0x420bf6
xor eax, eax
jmp 0x420bfb
mov eax, 1
test eax, eax
je 0x420c0d
mov eax, 0x4be8f5
jmp 0x421b3c
mov dword [ebp - 0x64], esp
push 0
mov eax, 0
call fcn.0042f69f
cmp dword [ebp - 0x64], esp
je 0x420c37
push 6
call fcn.0042f699
add esp, 4
push 0x80000301
push 0
push dword [0x4f3580]
push 1
mov eax, 5
mov ebx, 0x497330
call fcn.0042f6bd
add esp, 0x10
push 1
call fcn.00411eeb
mov dword [ebp - 0x64], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x420c81
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x4305e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x420cad
push ebx
call fcn.0042f693
add esp, 4
cmp dword [ebp - 0x68], 0
jg 0x420ce8
push 0x80000301
push 0
push dword [0x4f3580]
push 1
mov eax, 5
mov ebx, 0x497350
call fcn.0042f6bd
add esp, 0x10
mov eax, 0x4be8f5
jmp 0x421b3c
mov eax, 0x4bf921
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x420cfe
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
call fcn.00406da5
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x420d24
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
call fcn.0040e543
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x68], eax
push dword [ebp - 0x20]
push dword [ebp - 0x68]
push dword [0x4f35ac]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x420d82
push ebx
call fcn.0042f693
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x420d98
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x420dc4
push ebx
call fcn.0042f693
add esp, 4
mov dword [ebp - 0x74], 0
push 0
push dword [ebp - 0x74]
mov dword [ebp - 0x78], 0
push 0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040cf8e
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x420e0e
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x420e21
push ebx
call fcn.0042f693
add esp, 4
lea eax, [ebp - 0x7c]
push eax
call fcn.00406a92
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x420e46
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x420e5d
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004208d0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0x2c0e67dc
push 0x80000301
push 0
push 0x984a2b8a
push 1
mov ebx, 0x430260
call fcn.0042f687
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x420ece
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x28], 0
jne 0x42160b
mov dword [ebp - 0x64], 0
push 0
push dword [ebp - 0x64]
mov dword [ebp - 0x68], 0
push 0
lea eax, [ebp - 0x68]
push eax
push 0x4f35e4
call fcn.004112c8
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x420f24
push ebx
call fcn.0042f693
add esp, 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x420f3a
mov eax, 0x4be9b3
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x420f66
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x70]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x420f7d
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x420f94
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x64], eax
call fcn.0040e543
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x6c], eax
push 0x80000301
push 0
push dword [ebp - 0x2c]
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x70], eax
push dword [ebp - 0x70]
push 0x4be9db
push dword [ebp - 0x6c]
push 0x4be9db
push dword [ebp - 0x64]
push 0x4be9db
push dword [ebp - 0x24]
push 0x4be9db
push dword [ebp - 0x1c]
push 0x4be9db
push dword [ebp - 0x38]
push 0x4bf92c
mov ecx, 0xc
call fcn.0040106f
add esp, 0x30
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x421053
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x421066
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x421079
push ebx
call fcn.0042f693
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x42108f
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x4210bb
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4210d2
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
push 0x80000004
push 0
push 0x4bf91c
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x64], eax
push dword [ebp - 0x3c]
push dword [ebp - 0x64]
mov ecx, 2
call fcn.00401687
add esp, 8
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x421129
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x421140
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0x3950a637
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], 0
push 0
push dword [ebp - 0x68]
push 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040cf8e
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x4211aa
push ebx
call fcn.0042f693
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x40]
push 1
mov ebx, 0x430260
call fcn.0042f687
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x78], eax
push 1
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0040cd4f
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x421213
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x421226
push ebx
call fcn.0042f693
add esp, 4
mov dword [ebp - 0x80], 0
push 0
push dword [ebp - 0x80]
mov dword [ebp - 0x84], 0
push 0
push dword [ebp - 0x84]
mov dword [ebp - 0x88], 0
push 0
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x8c], 0
push 0
push dword [ebp - 0x8c]
mov dword [ebp - 0x90], 0
push 0
push dword [ebp - 0x90]
mov dword [ebp - 0x94], 0
push 0
push dword [ebp - 0x94]
lea eax, [ebp - 0x7c]
push eax
call fcn.0040e6ab
mov dword [ebp - 0x98], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x4212b8
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x98]
push eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x4212cf
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x44], eax
mov eax, 0x4be9b3
xor ecx, ecx
test eax, eax
je 0x4212e1
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x44]
xor ebx, ebx
test eax, eax
je 0x4212f2
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x421309
dec eax
test ecx, ecx
je 0x421309
call fcn.004015db
add esp, 0xc
test eax, eax
je 0x421606
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x42132e
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0042f68d
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x42133f
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x421368
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042f68d
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x64]
mov ebx, dword [ebx]
test ebx, ebx
je 0x42137e
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov ebx, dword [ebp - 0x64]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x4c]
add ebx, 4
mov dword [ebp - 0x64], ebx
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4213ad
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0042f68d
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x64]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4213c3
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov ebx, dword [ebp - 0x64]
mov dword [ebx], eax
push 0x4f359c
push 4
mov eax, 2
call fcn.0042f681
add esp, 8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], eax
mov ebx, dword [0x4f359c]
mov dword [ebp - 0x68], ebx
call fcn.004016f7
mov dword [ebp - 0x6c], ecx
mov edi, dword [ebp - 0x68]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x42141f
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x6c]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x68]
call fcn.0042f6a5
add esp, 8
mov dword [0x4f359c], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x6c]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x64]
push edi
push eax
push 8
call fcn.0042f68d
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x421485
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042f68d
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4214a2
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0042f68d
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
push 1
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0040e35a
mov dword [ebp - 0x64], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4214d1
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x68], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x6c]
push dword [ebp - 0x68]
mov ecx, 2
call fcn.00401687
add esp, 8
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x42153e
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x421551
push ebx
call fcn.0042f693
add esp, 4
mov dword [ebp - 0x74], 0
push 0
push dword [ebp - 0x74]
push 1
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004112c8
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x421591
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x4215a4
push ebx
call fcn.0042f693
add esp, 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x4215ba
mov eax, 0x4be9b3
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x4215e6
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x7c]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x4215fd
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
jmp 0x421606
jmp 0x4217a8
mov ebx, dword [0x4f359c]
call fcn.004016f7
push ebx
push ecx
mov eax, dword [ebp - 0x28]
dec eax
jns 0x42162b
push 4
call fcn.0042f699
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x42163e
push 1
call fcn.0042f699
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x64], ebx
push 1
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x64]
call fcn.0040e35a
mov dword [ebp - 0x68], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x421678
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x6c], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x70], eax
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
mov ecx, 2
call fcn.00401687
add esp, 8
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x4216e5
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x4216f8
push ebx
call fcn.0042f693
add esp, 4
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
push 1
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004112c8
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x421738
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x42174b
push ebx
call fcn.0042f693
add esp, 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x421761
mov eax, 0x4be9b3
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x42178d
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x4217a4
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
call fcn.004114a5
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
push eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x4217ca
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x54], eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0041dbd1
mov dword [ebp - 0x58], eax
push 1
mov eax, 0x4be9db
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0041e2c5
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x42181a
push ebx
call fcn.0042f693
add esp, 4
lea eax, [ebp - 0x68]
push eax
call fcn.004062fd
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x42183f
push ebx
call fcn.0042f693
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x58]
push 1
mov ebx, 0x430eb0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x70], eax
push 1
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0040e35a
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x42188f
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x4218a2
push ebx
call fcn.0042f693
add esp, 4
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x4218ca
mov eax, 0x4be9b3
push eax
push 3
mov ebx, 0x4310a0
call fcn.0042f687
add esp, 0x28
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], ecx
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x421902
push ebx
call fcn.0042f693
add esp, 4
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
cmp ecx, 0x80000101
jne 0x421923
and eax, 0xff
jmp 0x42197a
cmp ecx, 0x80000201
jne 0x42192e
cwde
jmp 0x42197a
cmp ecx, 0x80000301
je 0x42197a
cmp ecx, 0x80000401
je 0x42197a
mov dword [ebp - 0x88], eax
cmp ecx, 0x80000501
je 0x421961
cmp ecx, 0x80000601
je 0x421969
push 2
call fcn.0042f699
add esp, 4
fld dword [ebp - 0x88]
jmp 0x421975
mov dword [ebp - 0x84], edx
fld qword [ebp - 0x88]
call fcn.004015b4
mov dword [ebp - 0x5c], eax
call fcn.0040e543
cmp dword [ebp - 0x5c], eax
je 0x4219b9
push 0x80000301
push 0
push dword [0x4f3580]
push 1
mov eax, 5
mov ebx, 0x497350
call fcn.0042f6bd
add esp, 0x10
mov eax, 0x4be8f5
jmp 0x421b3c
push 0
mov eax, 0x4be9db
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0041e2c5
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x4219f2
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x421a09
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov dword [ebp - 0x60], eax
push 0x80000301
push 0
push dword [0x4f3580]
push 1
mov eax, 5
mov ebx, 0x497350
call fcn.0042f6bd
add esp, 0x10
push 0x80000004
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x421a44
mov eax, 0x4be8f5
push eax
push 1
mov ebx, 0x42fbe0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fsub qword [0x4befa1]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
call fcn.004015b4
push 0x80000301
push 0
push eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x421aa1
mov eax, 0x4be8f5
push eax
push 2
mov ebx, 0x42fd60
call fcn.0042f687
add esp, 0x1c
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.00414de3
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x421adf
push ebx
call fcn.0042f693
add esp, 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x421af5
mov eax, 0x4be9b3
push eax
push 1
mov ebx, 0x4316e0
call fcn.0042f687
add esp, 0x10
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x421b21
push ebx
call fcn.0042f693
add esp, 4
mov eax, dword [ebp - 0x80]
jmp 0x421b3c
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x421b4d
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x421b5d
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x421b6d
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x421b7d
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x421b8d
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x421b9d
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x421bad
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x421bbd
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x4c]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x421bd1
push ebx
call fcn.0042f693
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x421be5
push ebx
call fcn.0042f693
add esp, 4
pop ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x421bfe
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x421c0e
push ebx
call fcn.0042f693
add esp, 4
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x421c1e
push ebx
call fcn.0042f693
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret