Function at 0x420dcc
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x420deb
push str.Unset_entity_number
push 0
call fcn.0042071a
add esp, 8
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0x800
jl 0x420e05
push str.Entity_number___MAX_EDICTS
push 0
call fcn.0042071a
add esp, 8
mov dword [ebp - 4], 0
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0x100
jl 0x420e20
mov eax, dword [ebp - 4]
or ah, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
fld dword [ecx + 4]
fcomp dword [edx + 4]
fnstsw ax
test ah, 0x40
jne 0x420e3b
mov eax, dword [ebp - 4]
or al, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
fld dword [ecx + 8]
fcomp dword [edx + 8]
fnstsw ax
test ah, 0x40
jne 0x420e56
mov eax, dword [ebp - 4]
or al, 2
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
fld dword [ecx + 0xc]
fcomp dword [edx + 0xc]
fnstsw ax
test ah, 0x40
jne 0x420e72
mov eax, dword [ebp - 4]
or ah, 2
mov dword [ebp - 4], eax
cmp dword [ebp + 0x1c], 0
je 0x420eb1
mov ecx, dword [ebp - 4]
and ecx, 0x203
test ecx, ecx
je 0x420eb1
mov edx, dword [ebp + 8]
add edx, 4
push edx
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.00438eb9
add esp, 8
fcomp dword [0x44c490]
fnstsw ax
test ah, 1
je 0x420eb1
mov ecx, dword [ebp - 4]
or ecx, 0x20
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
fld dword [edx + 0x10]
fcomp dword [eax + 0x10]
fnstsw ax
test ah, 0x40
jne 0x420ecd
mov ecx, dword [ebp - 4]
or ch, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
fld dword [edx + 0x14]
fcomp dword [eax + 0x14]
fnstsw ax
test ah, 0x40
jne 0x420ee9
mov ecx, dword [ebp - 4]
or ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
fld dword [edx + 0x18]
fcomp dword [eax + 0x18]
fnstsw ax
test ah, 0x40
jne 0x420f05
mov ecx, dword [ebp - 4]
or ecx, 8
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [eax + 0x30]
je 0x420f51
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x30], 0x100
jae 0x420f2c
mov eax, dword [ebp - 4]
or eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x420f51
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x30], 0x10000
jae 0x420f46
mov edx, dword [ebp - 4]
or edx, 0x2000000
mov dword [ebp - 4], edx
jmp 0x420f51
mov eax, dword [ebp - 4]
or eax, 0x2010000
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 0x2c]
je 0x420f81
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x2c], 0x100
jge 0x420f76
mov edx, dword [ebp - 4]
or edx, 0x10
mov dword [ebp - 4], edx
jmp 0x420f81
mov eax, dword [ebp - 4]
or eax, 0x20000
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x34]
cmp eax, dword [edx + 0x34]
je 0x420fcc
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x34], 0x100
jge 0x420fa6
mov edx, dword [ebp - 4]
or dh, 0x40
mov dword [ebp - 4], edx
jmp 0x420fcc
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x34], 0x8000
jge 0x420fc0
mov ecx, dword [ebp - 4]
or ecx, 0x80000
mov dword [ebp - 4], ecx
jmp 0x420fcc
mov edx, dword [ebp - 4]
or edx, 0x84000
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x38]
je 0x421016
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x38], 0x100
jge 0x420ff1
mov ecx, dword [ebp - 4]
or ch, 0x10
mov dword [ebp - 4], ecx
jmp 0x421016
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x38], 0x8000
jge 0x42100a
mov eax, dword [ebp - 4]
or eax, 0x40000
mov dword [ebp - 4], eax
jmp 0x421016
mov ecx, dword [ebp - 4]
or ecx, 0x41000
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x48]
cmp ecx, dword [eax + 0x48]
je 0x421060
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x48], 0x100
jge 0x42103b
mov eax, dword [ebp - 4]
or ah, 0x10
mov dword [ebp - 4], eax
jmp 0x421060
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x48], 0x8000
jge 0x421055
mov edx, dword [ebp - 4]
or edx, 0x40000
mov dword [ebp - 4], edx
jmp 0x421060
mov eax, dword [ebp - 4]
or eax, 0x41000
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [edx + 0x3c]
je 0x42107a
mov ecx, dword [ebp - 4]
or ecx, 0x8000000
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x44], 0
je 0x42108c
mov eax, dword [ebp - 4]
or ah, 0x20
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x28]
cmp eax, dword [edx + 0x28]
je 0x4210a3
mov ecx, dword [ebp - 4]
or ch, 8
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x28], 0xff
jne 0x4210b5
cmp dword [ebp + 0x20], 0x72
jge 0x4210fa
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x4c]
cmp edx, dword [ecx + 0x4c]
je 0x4210ce
mov eax, dword [ebp - 4]
or eax, 0x10000000
mov dword [ebp - 4], eax
push 0x240
mov ecx, dword [ebp + 8]
add ecx, 0x50
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x50
push edx
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4210f8
mov eax, dword [ebp - 4]
or eax, 0x20000000
mov dword [ebp - 4], eax
jmp 0x421137
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x128], 0xff
je 0x42112c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x128], 0xff
jne 0x421137
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x128]
cmp edx, dword [ecx + 0x128]
je 0x421137
mov eax, dword [ebp - 4]
or eax, 0x200000
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x40]
cmp eax, dword [edx + 0x40]
je 0x42116a
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x40], 0xff
jle 0x42115f
mov edx, dword [ebp - 4]
or edx, 0x100000
mov dword [ebp - 4], edx
jmp 0x42116a
mov eax, dword [ebp - 4]
or eax, 0x4000000
mov dword [ebp - 4], eax
cmp dword [ebp + 0x18], 0
jne 0x421180
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x38]
and edx, 0x80
test edx, edx
je 0x42118b
mov eax, dword [ebp - 4]
or eax, 0x1000000
mov dword [ebp - 4], eax
push 0x8c
mov ecx, dword [ebp + 8]
add ecx, 0x290
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x290
push edx
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4211bb
mov eax, dword [ebp - 4]
or eax, 0x40000000
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
fld dword [ecx + 0x34c]
fcomp dword [edx + 0x34c]
fnstsw ax
test ah, 0x40
jne 0x4211df
mov eax, dword [ebp - 4]
or eax, 0x80000000
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4211f0
cmp dword [ebp + 0x14], 0
jne 0x4211f0
jmp 0x421aae
mov ecx, dword [ebp - 4]
and ecx, 0xff000000
test ecx, ecx
je 0x42120b
mov edx, dword [ebp - 4]
or edx, 0x808080
mov dword [ebp - 4], edx
jmp 0x42123a
mov eax, dword [ebp - 4]
and eax, 0xff0000
test eax, eax
je 0x421225
mov ecx, dword [ebp - 4]
or ecx, 0x8080
mov dword [ebp - 4], ecx
jmp 0x42123a
mov edx, dword [ebp - 4]
and edx, 0xff00
test edx, edx
je 0x42123a
mov eax, dword [ebp - 4]
or al, 0x80
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, 0xff
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 4]
and eax, 0xff000000
test eax, eax
je 0x4212a8
mov ecx, dword [ebp - 4]
sar ecx, 8
and ecx, 0xff
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 4]
sar eax, 0x10
and eax, 0xff
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004208d8
add esp, 8
mov edx, dword [ebp - 4]
sar edx, 0x18
and edx, 0xff
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
jmp 0x42130e
mov ecx, dword [ebp - 4]
and ecx, 0xff0000
test ecx, ecx
je 0x4212e9
mov edx, dword [ebp - 4]
sar edx, 8
and edx, 0xff
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 4]
sar ecx, 0x10
and ecx, 0xff
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
jmp 0x42130e
mov eax, dword [ebp - 4]
and eax, 0xff00
test eax, eax
je 0x42130e
mov ecx, dword [ebp - 4]
sar ecx, 8
and ecx, 0xff
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 4]
and eax, 0x100
test eax, eax
je 0x42132e
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208f9
add esp, 8
jmp 0x421340
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x800
test ecx, ecx
je 0x421360
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004208d8
add esp, 8
mov edx, dword [ebp - 4]
and edx, 0x10000000
test edx, edx
je 0x421380
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 4]
and eax, 0x20000000
test eax, eax
je 0x4215ea
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
jmp 0x4213b2
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 8
jge 0x4213f6
push 0x48
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x48
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x50]
push eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x48
mov edx, dword [ebp + 0xc]
lea eax, [edx + ecx + 0x50]
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4213f4
mov edx, 1
mov ecx, dword [ebp - 0x14]
shl edx, cl
mov eax, dword [ebp - 0x10]
or eax, edx
mov dword [ebp - 0x10], eax
jmp 0x4213a9
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov dword [ebp - 0x14], 0
jmp 0x421418
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 8
jge 0x4215ea
mov edx, 1
mov ecx, dword [ebp - 0x14]
shl edx, cl
mov eax, dword [ebp - 0x10]
and eax, edx
test eax, eax
jne 0x421437
jmp 0x42140f
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0x14]
imul edx, edx, 0x48
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [eax + ecx + 0x50]
cmp ecx, dword [esi + edx + 0x50]
je 0x421463
mov edx, dword [ebp - 0xc]
or edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x48
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + eax + 0x54]
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x48
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov bl, byte [ecx + eax + 0x54]
cmp edx, ebx
je 0x42148e
mov edx, dword [ebp - 0xc]
or edx, 2
mov dword [ebp - 0xc], edx
push 8
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x48
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x55]
push edx
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x48
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax + 0x55]
push edx
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4214c0
mov eax, dword [ebp - 0xc]
or al, 4
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 0xc]
and eax, 1
test eax, eax
je 0x4214f4
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x48
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx + 0x50]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004208d8
add esp, 8
mov edx, dword [ebp - 0xc]
and edx, 2
test edx, edx
je 0x42151a
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x48
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + eax + 0x54]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 0xc]
and ecx, 4
test ecx, ecx
je 0x4215e5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
jmp 0x421541
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 8
jge 0x421587
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x48
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov edx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [edx + ecx + 0x55]
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0x18]
add edx, ecx
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov bl, byte [ecx + edx + 0x55]
cmp eax, ebx
je 0x421585
mov edx, 1
mov ecx, dword [ebp - 0x18]
shl edx, cl
mov eax, dword [ebp - 0x1c]
or eax, edx
mov dword [ebp - 0x1c], eax
jmp 0x421538
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov dword [ebp - 0x18], 0
jmp 0x4215a9
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 8
jge 0x4215e5
mov edx, 1
mov ecx, dword [ebp - 0x18]
shl edx, cl
mov eax, dword [ebp - 0x1c]
and eax, edx
test eax, eax
je 0x4215e3
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0x18]
add edx, ecx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [eax + edx + 0x55]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
jmp 0x4215a0
jmp 0x42140f
mov eax, dword [ebp - 4]
and eax, 0x200000
test eax, eax
je 0x42160c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x128]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x10
test ecx, ecx
je 0x421629
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004208d8
add esp, 8
mov edx, dword [ebp - 4]
and edx, 0x20000
test edx, edx
je 0x421649
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208f9
add esp, 8
mov eax, dword [ebp - 4]
and eax, 0x10000
test eax, eax
je 0x421677
mov ecx, dword [ebp - 4]
and ecx, 0x2000000
test ecx, ecx
je 0x421677
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0042092c
add esp, 8
jmp 0x4216b8
mov edx, dword [ebp - 4]
and edx, 0x10000
test edx, edx
je 0x421699
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
jmp 0x4216b8
mov eax, dword [ebp - 4]
and eax, 0x2000000
test eax, eax
je 0x4216b8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208f9
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x84000
cmp ecx, 0x84000
jne 0x4216de
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x34]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0042092c
add esp, 8
jmp 0x42171f
mov edx, dword [ebp - 4]
and edx, 0x4000
test edx, edx
je 0x421700
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
jmp 0x42171f
mov eax, dword [ebp - 4]
and eax, 0x80000
test eax, eax
je 0x42171f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x34]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208f9
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x41000
cmp ecx, 0x41000
jne 0x421745
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0042092c
add esp, 8
jmp 0x421786
mov edx, dword [ebp - 4]
and edx, 0x1000
test edx, edx
je 0x421767
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
jmp 0x421786
mov eax, dword [ebp - 4]
and eax, 0x40000
test eax, eax
je 0x421786
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208f9
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x41000
cmp ecx, 0x41000
jne 0x4217ac
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0042092c
add esp, 8
jmp 0x4217ed
mov edx, dword [ebp - 4]
and edx, 0x1000
test edx, edx
je 0x4217ce
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
jmp 0x4217ed
mov eax, dword [ebp - 4]
and eax, 0x40000
test eax, eax
je 0x4217ed
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x48]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208f9
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x20
test ecx, ecx
je 0x42189c
mov edx, dword [ebp - 4]
and edx, 1
test edx, edx
je 0x42182f
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
fld dword [eax + 4]
fsub dword [ecx + 4]
fmul qword [0x44c6e8]
fadd qword [0x44c5c8]
call sub.MSVCRT.dll__ftol
push eax
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 4]
and eax, 2
test eax, eax
je 0x421863
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
fld dword [ecx + 8]
fsub dword [edx + 8]
fmul qword [0x44c6e8]
fadd qword [0x44c5c8]
call sub.MSVCRT.dll__ftol
push eax
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x200
test ecx, ecx
je 0x42189a
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
fld dword [edx + 0xc]
fsub dword [eax + 0xc]
fmul qword [0x44c6e8]
fadd qword [0x44c5c8]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004208d8
add esp, 8
jmp 0x4218f6
mov edx, dword [ebp - 4]
and edx, 1
test edx, edx
je 0x4218b9
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004209f1
add esp, 8
mov eax, dword [ebp - 4]
and eax, 2
test eax, eax
je 0x4218d6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004209f1
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x200
test ecx, ecx
je 0x4218f6
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004209f1
add esp, 8
mov edx, dword [ebp - 4]
and edx, 0x400
test edx, edx
je 0x421916
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00420a6f
add esp, 8
mov eax, dword [ebp - 4]
and eax, 4
test eax, eax
je 0x421933
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00420a6f
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 8
test ecx, ecx
je 0x421950
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00420a6f
add esp, 8
mov edx, dword [ebp - 4]
and edx, 0x1000000
test edx, edx
je 0x421996
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004209f1
add esp, 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x20]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004209f1
add esp, 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004209f1
add esp, 8
mov eax, dword [ebp - 4]
and eax, 0x4000000
test eax, eax
je 0x4219b5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x40]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x100000
test ecx, ecx
je 0x4219d5
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x40]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004208f9
add esp, 8
mov edx, dword [ebp - 4]
and edx, 0x2000
test edx, edx
je 0x4219f5
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x44]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004208d8
add esp, 8
mov eax, dword [ebp - 4]
and eax, 0x8000000
test eax, eax
je 0x421a14
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x3c]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208f9
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x80000000
test ecx, ecx
je 0x421a48
mov edx, dword [ebp + 0xc]
fld dword [edx + 0x34c]
fadd qword [0x44c318]
fmul qword [0x44c880]
call sub.MSVCRT.dll__ftol
push eax
mov eax, dword [ebp + 0x10]
push eax
call fcn.004208d8
add esp, 8
mov ecx, dword [ebp - 4]
and ecx, 0x40000000
test ecx, ecx
je 0x421aae
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
jmp 0x421a6e
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax + 0x2f4]
jge 0x421a9e
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edx*4 + 0x290]
add edx, 1
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 0xa
shl edx, cl
mov eax, dword [ebp - 0x24]
add eax, edx
mov dword [ebp - 0x24], eax
jmp 0x421a65
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0042092c
add esp, 8
pop esi
pop ebx
mov esp, ebp
pop ebp
ret