Function at 0x50880c
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x509fd6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x533a00]
mov dword [0x533884], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xa
jge 0x508864
inc dword [ebp - 0x20]
mov eax, dword [0x5338b4]
call fcn.004071f4
mov dword [0x5338b4], eax
cmp dword [ebp - 0x20], 0xa
jl 0x50884c
mov eax, dword [0x533894]
sub eax, dword [0x53388c]
mov dword [0x533904], eax
mov eax, dword [0x53388c]
add eax, 0x2e
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x533974], eax
mov byte [ebp - 5], 0
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 9
jge 0x5088bc
inc dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [0x5339c4]
mov dword [0x53386c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 5
jne 0x5088a3
cmp dword [ebp - 0x24], 9
jl 0x50889b
mov ecx, 0x5338e4
mov edx, 0x5339bc
mov eax, 0x53388c
call fcn.004ebb6c
mov eax, dword [0x533864]
add eax, 0xc0
mov dword [0x5338ec], eax
mov eax, dword [0x5338ec]
add eax, 0x58
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x53393c], eax
mov eax, dword [0x533a30]
push eax
mov eax, dword [0x53388c]
push eax
mov eax, dword [0x533a00]
push eax
mov eax, dword [0x53390c]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x5338ac]
mov eax, dword [0x5339d8]
call fcn.004fac14
mov dword [0x5339d8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x508a71
cmp eax, 0
jne 0x508a71
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [0x53388c]
push eax
mov ecx, dword [0x533a00]
mov edx, dword [0x5338cc]
mov eax, dword [0x5338dc]
call fcn.00503b0c
mov dword [ebp - 0x20], eax
mov eax, dword [0x5338c4]
mov dword [0x5338bc], eax
mov eax, dword [0x53396c]
add eax, 4
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.00407638
mov dword [0x5338ec], eax
mov eax, dword [0x533a28]
add eax, dword [0x5339ac]
mov dword [0x53393c], eax
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x20]
mov eax, 0x5338cc
call fcn.004fb7d8
mov dword [0x5338ec], eax
mov byte [ebp - 5], 1
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xa
jge 0x5089e4
inc dword [ebp - 0x24]
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.0040a01c
jmp 0x5089e4
fild dword [0x5339e8]
call fcn.00407638
mov dword [0x5338bc], eax
mov eax, dword [0x5338cc]
call fcn.004071f4
mov dword [0x5338cc], eax
mov eax, dword [0x533934]
mov dword [0x5338d4], eax
mov eax, dword [0x5338cc]
cmp eax, dword [0x5338d4]
jle 0x508a4a
mov eax, dword [0x5338f4]
call fcn.004071f4
mov dword [0x5338f4], eax
mov eax, dword [0x53385c]
push eax
mov ecx, dword [0x533934]
mov edx, dword [0x533964]
mov eax, dword [0x53397c]
call fcn.004f8894
mov dword [0x5338fc], eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [0x533a28]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [0x533984]
mov edx, dword [0x533864]
mov eax, dword [ebp - 0x24]
call fcn.004fe4cc
jmp 0x509fbb
xor eax, eax
push ebp
push 0x509fb1
push dword fs:[eax]
mov dword fs:[eax], esp
imul eax, dword [0x5338f4], 0x6f
mov dword [0x5338bc], eax
mov eax, dword [0x5338e4]
imul dword [0x533a00]
mov dword [0x53390c], eax
push 0xf0000000
push 0x18
push 0
push 0
lea eax, [ebp - 0x28]
push eax
call dword [0x533910]
test eax, eax
je 0x509fa7
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
mov edx, 0x509ff4
call fcn.0040aba0
jne 0x508adb
mov eax, dword [0x53387c]
call fcn.004071f4
mov dword [0x53387c], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
jne 0x508abd
mov eax, dword [0x533a30]
mov dword [0x5338bc], eax
mov eax, dword [0x5338cc]
call fcn.004071f4
mov dword [0x5338cc], eax
mov eax, 0x30
sub eax, dword [0x533874]
mov dword [0x533904], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
cmp eax, 0x6a
jge 0x508b29
imul eax, dword [0x533864], 0x94
mov dword [0x533974], eax
jmp 0x508b41
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jle 0x508b41
mov eax, dword [0x533a50]
add eax, 4
mov dword [0x533a48], eax
mov eax, dword [0x533984]
imul dword [0x5338dc]
mov dword [0x5338b4], eax
xor eax, eax
push ebp
push 0x509f4f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x533874]
mov dword [0x5339b4], eax
mov eax, dword [0x5339d0]
call fcn.004071f4
mov dword [0x5339d0], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
cmp eax, 0x90
jge 0x508b97
mov eax, dword [0x53395c]
sub eax, dword [0x533944]
mov dword [0x533a48], eax
jmp 0x508bad
lea eax, [ebp - 0xc]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.0040abd8
mov eax, dword [0x533a00]
add eax, 0x1c
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x5338d4], eax
mov eax, dword [0x53389c]
sub eax, dword [0x5338d4]
mov dword [0x533904], eax
mov eax, dword [0x5339f8]
mov dword [0x533934], eax
mov eax, dword [0x533934]
cmp eax, dword [0x5339d0]
jge 0x508bfe
fild dword [0x5339e8]
call fcn.0040762c
mov dword [0x53398c], eax
jmp 0x508c3f
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x24]
cmp eax, edx
jge 0x508c20
mov eax, dword [0x533a30]
imul dword [0x5339e0]
mov dword [0x53385c], eax
jmp 0x508c3f
mov eax, dword [0x533a38]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x53388c]
call fcn.004f847c
mov dword [0x533a28], eax
lea eax, [ebp - 0x2c]
push eax
push 0
push 0
push 0x8003
mov eax, dword [ebp - 0x28]
push eax
call dword [0x533938]
test eax, eax
je 0x509e28
xor eax, eax
push ebp
push 0x509d92
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.0040a01c
mov ecx, 1
mov edx, dword [0x53391c]
mov eax, 0x50a018
call fcn.0040ade8
cmp eax, 0x35
jge 0x508ca1
mov eax, dword [0x533974]
imul dword [0x533934]
mov dword [0x5338ec], eax
mov eax, dword [0x533a30]
mov dword [0x53393c], eax
mov eax, dword [0x533874]
sub eax, dword [0x53395c]
mov dword [0x533984], eax
mov eax, dword [0x5339bc]
call fcn.004071f4
mov dword [0x5339bc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [0x5339ac]
mov dword [0x53387c], eax
mov eax, dword [0x533a50]
add eax, dword [0x5339b4]
mov dword [0x5338ac], eax
fild dword [0x533894]
call fcn.00407638
mov dword [0x5338ec], eax
mov eax, dword [0x5338d4]
add eax, dword [0x533884]
mov dword [0x53394c], eax
mov eax, dword [0x53388c]
mov dword [0x53395c], eax
mov eax, dword [0x53392c]
imul dword [0x5339e8]
mov dword [0x5339ac], eax
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 4
call fcn.004a89f8
lea eax, [ebp - 0xc]
mov edx, 0x50a054
call fcn.0040a01c
push 0x5339b4
mov ecx, 0x53397c
mov edx, 0x5338c4
lea eax, [ebp - 0x24]
call fcn.004f8d10
mov eax, dword [0x533a08]
add eax, 0x8c
mov dword [0x5338e4], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [0x5338a4]
mov dword [0x533934], eax
mov eax, dword [0x533944]
imul dword [0x5339bc]
mov dword [0x53396c], eax
cmp dword [ebp - 0x38], 0x40000000
jge 0x509cfe
mov eax, dword [0x533a40]
mov dword [0x53386c], eax
mov eax, dword [0x533884]
add eax, 4
mov dword [0x5338b4], eax
mov eax, dword [0x5338cc]
call fcn.004071f4
mov dword [0x5338cc], eax
mov eax, dword [0x53396c]
mov dword [0x5338dc], eax
mov eax, dword [0x5338cc]
cmp eax, dword [0x5338dc]
jle 0x508dff
mov eax, 0xb3
sub eax, dword [0x5338fc]
mov dword [0x53394c], eax
mov eax, dword [0x53395c]
add eax, 0xb1
mov dword [0x5339b4], eax
mov eax, dword [0x5339bc]
sub eax, dword [0x53394c]
cmp eax, dword [0x533a18]
jne 0x508e49
mov ecx, 1
mov edx, dword [ebp - 0x1c]
mov eax, 0x50a078
call fcn.0040ade8
cmp eax, 0x40
jge 0x508e36
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.0040a01c
jmp 0x508e40
mov eax, dword [0x5339e8]
mov dword [0x5338f4], eax
sub dword [0x533974], 0x42
jmp 0x508e59
fild dword [0x5339c4]
call fcn.00407638
mov dword [0x533a38], eax
mov eax, dword [0x533a18]
sub eax, dword [0x533864]
mov dword [0x53387c], eax
mov eax, dword [0x533864]
imul dword [0x5339d0]
mov dword [0x5338c4], eax
mov eax, dword [ebp - 0x38]
call fcn.00406e0c
mov dword [ebp - 0x30], eax
mov eax, dword [0x5339c4]
sub eax, dword [0x533a08]
cmp eax, dword [0x5339c4]
jge 0x508eb5
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xf
jge 0x508eb5
inc dword [ebp - 0x24]
mov eax, dword [0x5339d8]
mov dword [0x533864], eax
cmp dword [ebp - 0x24], 0xf
jl 0x508ea2
mov eax, dword [0x5338bc]
add eax, 0x30
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x5338dc], eax
mov eax, dword [0x5338fc]
add eax, 0x2e
mov dword [0x53393c], eax
mov eax, dword [0x53395c]
add eax, 0x2d
mov dword [0x533984], eax
mov eax, dword [0x5339ac]
add eax, 4
mov dword [0x5339e0], eax
mov eax, dword [0x5339f8]
sub eax, 0x29
mov dword [0x533a40], eax
xor eax, eax
push ebp
push 0x509c9f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x533a38]
imul dword [0x533a50]
mov dword [0x53393c], eax
mov eax, dword [0x533974]
mov dword [0x53395c], eax
mov eax, dword [0x53396c]
call fcn.004071f4
mov dword [0x53396c], eax
mov eax, dword [0x53396c]
cmp eax, dword [0x53395c]
jge 0x508fb6
mov eax, dword [0x5339c4]
add eax, dword [0x53396c]
mov edx, dword [0x5339c4]
add edx, dword [0x5339c4]
cmp eax, edx
jge 0x508f6f
mov eax, dword [0x5338ac]
add eax, 0x52
mov dword [0x533a48], eax
jmp 0x508f9d
mov eax, dword [0x5338cc]
push eax
mov eax, dword [0x533a48]
push eax
mov eax, dword [0x5339e0]
push eax
mov eax, dword [0x53394c]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x533a40]
mov eax, dword [ebp - 0x20]
call fcn.004fac14
mov dword [0x53386c], eax
mov eax, dword [0x5339f8]
add eax, 0xe7
mov dword [0x53390c], eax
mov eax, dword [0x5338dc]
mov dword [0x53394c], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x5339ac]
mov eax, dword [ebp - 0x20]
call fcn.00502970
mov dword [0x53393c], eax
mov eax, dword [0x53392c]
add eax, 0x7c
mov dword [0x533a08], eax
mov eax, dword [0x53396c]
add eax, 4
mov dword [0x53385c], eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
call fcn.004a89f8
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x20
call fcn.004a89f8
mov eax, dword [0x5339ac]
mov dword [0x5339d0], eax
mov eax, dword [0x5339f8]
add eax, 4
mov dword [0x533a28], eax
mov eax, dword [0x533894]
sub eax, dword [0x53398c]
mov dword [0x533864], eax
mov eax, dword [0x5338cc]
mov dword [0x5338a4], eax
mov eax, dword [0x53390c]
add eax, 0x3a
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x5338e4], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040abd8
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x54]
jne 0x509ba6
cmp eax, dword [ebp - 0x58]
jne 0x509ba6
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 5
jge 0x5090a5
inc dword [ebp - 0x24]
mov ecx, 0x5339ac
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.004f8b78
mov dword [0x5339f8], eax
cmp dword [ebp - 0x24], 5
jl 0x509087
mov eax, dword [0x533984]
add eax, 0xc8
mov dword [0x533904], eax
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [0x53397c]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
mov dword [0x533974], eax
imul eax, dword [0x5339d8], 0x2b
mov dword [0x5339d0], eax
mov ecx, 0x5338fc
lea edx, [ebp - 0x24]
mov eax, 0x53392c
call fcn.004fb7d8
lea eax, [ebp - 0x3c]
push eax
push 0
lea ecx, [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
call fcn.004e840c
xor eax, eax
push ebp
push 0x509af8
push dword fs:[eax]
mov dword fs:[eax], esp
fild dword [0x5339ac]
call fcn.0040762c
mov dword [0x533944], eax
mov eax, dword [0x533974]
cmp eax, dword [0x53389c]
jle 0x509170
imul eax, dword [0x533894], 0x53
mov dword [0x5339e0], eax
fild dword [0x53388c]
call fcn.00407638
mov dword [0x533a48], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x5091f7
mov eax, dword [0x53386c]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x53393c]
mov eax, dword [ebp - 0x24]
call fcn.004f8894
jmp 0x5091f7
mov eax, dword [0x533a18]
add eax, dword [0x5338c4]
mov dword [0x533964], eax
mov eax, dword [0x533a08]
mov dword [0x5339d0], eax
mov eax, dword [0x533a00]
sub eax, dword [0x5338e4]
cmp eax, 0xb6
jge 0x5091e4
mov eax, dword [0x53385c]
call fcn.004071f4
mov dword [0x53385c], eax
mov eax, dword [0x53389c]
mov dword [0x533874], eax
mov eax, dword [0x533874]
cmp eax, dword [0x53385c]
jle 0x5091d3
mov eax, dword [0x533934]
add eax, 0xa9
mov dword [0x5338fc], eax
jmp 0x5091f7
mov eax, dword [0x5339ac]
call fcn.004071f4
mov dword [0x5339ac], eax
jmp 0x5091f7
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040abd8
mov eax, dword [0x53385c]
imul dword [0x53386c]
mov dword [0x5338fc], eax
mov eax, dword [0x53393c]
call fcn.004071f4
mov dword [0x53393c], eax
fild dword [0x53398c]
call fcn.00407638
mov dword [0x533984], eax
imul eax, dword [0x533a40], 0x35
mov dword [0x5339d8], eax
push 0
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call dword [0x533940]
test eax, eax
je 0x5099cb
push 0
lea eax, [ebp - 0x40]
push eax
push 0
push 2
mov eax, dword [ebp - 0x2c]
push eax
call dword [0x533948]
test eax, eax
je 0x50993c
mov eax, dword [0x53387c]
add eax, dword [0x5339d8]
cmp eax, dword [0x5339d8]
jne 0x509325
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [0x5339e8]
mov dword [0x53387c], eax
mov eax, dword [0x533894]
call fcn.004071f4
mov dword [0x533894], eax
mov eax, dword [0x53397c]
imul dword [0x533a28]
mov dword [0x5338d4], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xb
jne 0x509286
mov eax, dword [0x53387c]
add eax, dword [0x533a48]
mov dword [0x53396c], eax
mov eax, dword [0x5338bc]
imul dword [0x5339ac]
mov dword [0x5339d0], eax
mov eax, dword [0x5338b4]
add eax, 4
mov dword [0x533a38], eax
mov eax, dword [0x533864]
sub eax, dword [0x5339bc]
mov edx, dword [0x5339d0]
sub edx, dword [0x5339bc]
cmp eax, edx
jle 0x509316
mov edx, 0x53390c
mov eax, 0x533864
call fcn.00504e2c
mov dword [0x53395c], eax
jmp 0x50937b
mov eax, dword [0x533a48]
add eax, 0x4b
mov dword [0x53394c], eax
jmp 0x50937b
mov eax, dword [0x53390c]
sub eax, 0x46
mov dword [0x533a50], eax
mov eax, dword [0x533a30]
mov dword [0x53387c], eax
mov eax, dword [0x53386c]
add eax, 0x77
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x5338bc], eax
mov eax, dword [0x5338f4]
mov dword [0x5338f4], eax
mov eax, dword [0x5338f4]
cmp eax, dword [0x53387c]
jle 0x50937b
fild dword [0x533a00]
call fcn.00407638
mov dword [0x53398c], eax
mov eax, dword [0x5338dc]
mov dword [0x533a38], eax
mov eax, dword [0x533a48]
mov dword [0x533a50], eax
mov eax, dword [0x53388c]
add eax, 4
mov dword [0x53389c], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.0040abd8
mov eax, dword [0x5339d0]
sub eax, dword [0x5339bc]
mov dword [0x533904], eax
push 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
push 2
mov eax, dword [ebp - 0x2c]
push eax
call dword [0x533948]
test eax, eax
je 0x50993c
mov eax, dword [0x53389c]
mov dword [0x5338c4], eax
fild dword [0x5338dc]
call fcn.0040762c
mov dword [0x533904], eax
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.0040a01c
mov eax, dword [0x53392c]
mov dword [0x53396c], eax
mov eax, dword [0x533974]
add eax, dword [0x53386c]
mov dword [0x5339c4], eax
mov eax, dword [0x5339f8]
call fcn.004071f4
mov dword [0x5339f8], eax
mov eax, dword [0x53396c]
cmp eax, dword [0x5339f8]
jge 0x509447
mov eax, dword [0x533a28]
mov dword [0x533864], eax
jmp 0x509457
fild dword [0x5338f4]
call fcn.0040762c
mov dword [0x5338dc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call fcn.004aa61c
xor eax, eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xc]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [0x5338c4]
add eax, 0x81
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x5338c4], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x10
jne 0x509466
mov eax, dword [0x5339c4]
imul dword [0x533a08]
mov dword [0x53395c], eax
call fcn.004f90ac
mov eax, dword [0x5339b4]
mov dword [0x5339c4], eax
mov eax, dword [0x5338ec]
mov dword [0x5339e8], eax
mov eax, dword [0x5339e8]
cmp eax, dword [0x5339c4]
jge 0x50950c
mov ecx, 1
mov edx, dword [0x533a20]
mov eax, 0x50a09c
call fcn.0040ade8
cmp eax, 0xa4
jge 0x5094fd
call fcn.004fd838
mov dword [0x5338d4], eax
jmp 0x50950c
mov eax, dword [0x5338fc]
call fcn.004071f4
mov dword [0x5338fc], eax
mov eax, dword [0x53387c]
add eax, 0xa4
mov dword [0x5339d8], eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
call fcn.004a9784
mov eax, dword [ebp - 4]
mov eax, dword [eax]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [0x5338dc]
imul dword [0x5339d0]
mov dword [0x53398c], eax
mov eax, 0x33
sub eax, dword [0x5338d4]
mov dword [0x533a00], eax
mov eax, dword [0x53392c]
add eax, 0x31
mov dword [0x533a50], eax
mov eax, dword [0x533904]
add eax, dword [0x53395c]
mov dword [0x5338a4], eax
fild dword [0x533964]
call fcn.00407638
mov dword [0x5338e4], eax
mov byte [ebp - 5], 1
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x5095b9
inc dword [ebp - 0x24]
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
fild dword [0x53397c]
call fcn.00407638
mov dword [0x5338c4], eax
cmp dword [ebp - 0x24], 0
jl 0x509595
imul eax, dword [0x5338c4], 0x55
mov dword [0x533944], eax
mov eax, dword [0x5339a4]
mov edx, 0x50a0c4
call fcn.0040aba0
jne 0x509620
mov eax, dword [0x5339c4]
mov dword [0x5339e0], eax
mov eax, dword [0x5338fc]
mov dword [0x533a00], eax
mov eax, dword [0x5339e0]
cmp eax, dword [0x533a00]
jge 0x509604
lea eax, [ebp - 0xc]
mov edx, 0x50a0f0
call fcn.0040a01c
mov eax, dword [0x53398c]
add eax, 0x19
mov dword [0x5338ec], eax
mov eax, dword [0x5339e8]
add eax, 0x17
mov dword [0x533944], eax
jmp 0x509664
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x24]
jne 0x509645
mov eax, dword [0x533a30]
add eax, 4
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.00407638
mov dword [0x533864], eax
jmp 0x509655
mov eax, 0xa8
sub eax, dword [0x533a18]
mov dword [0x533904], eax
mov eax, dword [0x533984]
call fcn.004071f4
mov dword [0x533984], eax
fild dword [0x533894]
call fcn.00407638
mov dword [0x533a30], eax
mov eax, dword [0x53385c]
call fcn.004071f4
mov dword [0x53385c], eax
lea eax, [ebp - 0xc]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x5096cc
inc dword [ebp - 0x24]
mov eax, 0x62
sub eax, dword [0x53389c]
mov dword [0x5338ac], eax
mov eax, dword [0x53393c]
mov dword [0x5338e4], eax
cmp dword [ebp - 0x24], 0
jl 0x5096a9
mov eax, dword [0x533a40]
add eax, 0x91
mov dword [0x53397c], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
cmp eax, 0x97
jge 0x5096f8
mov eax, dword [0x533a28]
add eax, dword [0x5339c4]
mov dword [0x533a50], eax
mov eax, dword [0x53395c]
add eax, 0x8a
mov dword [0x5338bc], eax
imul eax, dword [0x5339b4], 0x89
mov dword [0x5338fc], eax
mov eax, dword [ebp - 0x38]
mov al, byte [ebp + eax - 0x50]
mov edx, dword [ebp - 0x38]
cmp al, byte [ebp + edx - 0x70]
je 0x50978a
mov byte [ebp - 5], 0
mov eax, dword [0x53387c]
add eax, 0x4d
mov dword [0x5338bc], eax
mov eax, 0xb1
sub eax, dword [0x533874]
mov dword [0x53390c], eax
mov eax, dword [0x5338b4]
sub eax, 0xb0
mov dword [0x533974], eax
mov eax, dword [0x5338ac]
sub eax, dword [0x5338ac]
mov dword [0x5339e0], eax
mov eax, dword [0x5338a4]
add eax, 4
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.00407638
mov dword [0x533a40], eax
mov eax, dword [0x53398c]
mov dword [0x53386c], eax
jmp 0x5097df
mov eax, dword [0x53387c]
mov dword [0x5339bc], eax
mov eax, dword [0x53396c]
mov dword [0x5339e8], eax
mov eax, dword [0x533964]
sub eax, dword [0x53394c]
mov dword [0x533a50], eax
mov eax, dword [0x5339b4]
mov dword [0x53389c], eax
mov eax, dword [0x533a00]
add eax, 0x9e
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x5338dc], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x10
jne 0x50969e
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
jle 0x509883
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [0x533974]
mov dword [0x533884], eax
mov eax, dword [0x53389c]
sub eax, dword [0x533894]
cmp eax, 0x36
jge 0x50981c
mov eax, dword [0x5339bc]
add eax, dword [0x5338b4]
mov dword [0x53392c], eax
jmp 0x509838
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x24]
cmp eax, edx
jge 0x509838
imul eax, dword [0x53398c], 0x26
mov dword [0x53385c], eax
lea eax, [ebp - 0x10]
mov edx, 0x50a118
call fcn.0040a01c
jmp 0x509850
imul eax, dword [0x533964], 0xb8
mov dword [0x5339d8], eax
fild dword [0x53395c]
call fcn.00407638
mov dword [0x533a40], eax
call fcn.004f90ac
mov eax, dword [0x5338ec]
add eax, 0xe7
mov dword [0x53389c], eax
mov ecx, 1
mov edx, dword [ebp - 0x14]
mov eax, 0x50a140
call fcn.0040ade8
cmp eax, 0xf
jge 0x5098c9
mov eax, dword [0x53388c]
mov dword [0x53396c], eax
mov eax, dword [0x5338cc]
mov dword [0x5339c4], eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [0x5339bc]
mov edx, dword [ebp - 0x24]
mov eax, dword [0x5339d8]
call fcn.004fd4b0
mov eax, dword [0x5338bc]
add eax, dword [0x5338c4]
mov dword [0x533884], eax
mov eax, dword [0x533964]
mov dword [0x5338bc], eax
mov eax, dword [0x5338bc]
cmp eax, dword [0x53396c]
jle 0x5098fd
mov eax, dword [0x533864]
sub eax, 0xc
mov dword [0x53394c], eax
mov eax, dword [0x5339bc]
sub eax, dword [0x5339d0]
cmp eax, 0x45
jge 0x509920
mov eax, dword [0x533934]
mov edx, eax
shl eax, 3
sub eax, edx
mov dword [0x533a50], eax
jmp 0x50993c
mov eax, dword [0x5338bc]
push eax
mov eax, dword [0x5339d0]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x53387c]
call fcn.004fd4b0
mov eax, dword [0x53393c]
add eax, 0x60
mov dword [0x5338cc], eax
mov eax, dword [0x533a48]
mov dword [0x5338f4], eax
fild dword [0x5338d4]
call fcn.0040762c
mov dword [0x533944], eax
imul eax, dword [0x53392c], 0x29
mov dword [0x53398c], eax
mov eax, dword [0x533a38]
mov dword [0x5339d0], eax
mov eax, dword [0x533974]
mov dword [0x5339e8], eax
mov eax, dword [0x5339d0]
cmp eax, dword [0x5339e8]
jge 0x5099bc
mov ecx, 1
mov edx, dword [0x533a20]
mov eax, 0x50a168
call fcn.0040ade8
cmp eax, 0x84
jge 0x5099bc
mov eax, dword [0x533864]
imul dword [0x5339d0]
mov dword [0x5338cc], eax
mov eax, dword [0x53389c]
add eax, 0x85
mov dword [0x533984], eax
mov eax, dword [0x533974]
mov dword [0x53387c], eax
mov eax, dword [0x5339d0]
mov edx, eax
shl eax, 7
sub eax, edx
mov dword [0x5338c4], eax
mov eax, dword [0x5338dc]
call fcn.004071f4
mov dword [0x5338dc], eax
mov eax, dword [0x533874]
mov dword [0x5338f4], eax
mov eax, dword [0x5338dc]
cmp eax, dword [0x5338f4]
jle 0x509a1e
mov eax, dword [0x5339bc]
imul dword [0x53392c]
mov dword [0x533984], eax
jmp 0x509a2e
mov eax, dword [0x53385c]
imul dword [0x533a08]
mov dword [0x533a38], eax
mov eax, 0xa9
sub eax, dword [0x533a50]
mov dword [0x53388c], eax
mov eax, dword [0x5338c4]
cmp eax, dword [0x5338d4]
jle 0x509a5a
imul eax, dword [0x5338cc], 0xa6
mov dword [0x53392c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509b02
mov eax, dword [ebp - 0x34]
call fcn.00406e28
sub dword [0x5338ac], 0x38
lea eax, [ebp - 0x10]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
imul eax, dword [0x53398c], 0xce
mov dword [0x53393c], eax
mov eax, dword [0x5338dc]
mov dword [0x53395c], eax
mov eax, dword [0x533a48]
mov dword [0x53397c], eax
mov eax, dword [0x53395c]
cmp eax, dword [0x53397c]
jge 0x509ae3
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x24]
jne 0x509aed
mov eax, dword [0x5339d8]
add eax, 0x96
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.0040762c
mov dword [0x53385c], eax
jmp 0x509aed
mov eax, dword [0x533874]
mov dword [0x5338e4], eax
mov eax, dword [0x5338b4]
mov dword [0x53393c], eax
ret
xor eax, eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xe
jge 0x509be5
inc dword [ebp - 0x20]
mov eax, dword [0x5338f4]
sub eax, dword [0x5338cc]
mov dword [0x533904], eax
cmp dword [ebp - 0x20], 0xe
jl 0x509bc1
jmp 0x509be5
mov eax, dword [0x533944]
imul dword [0x533864]
mov dword [0x5339d0], eax
mov eax, dword [0x53389c]
mov dword [0x5339e8], eax
mov eax, 0x6d
sub eax, dword [0x533934]
mov dword [0x533a38], eax
mov eax, dword [0x53397c]
sub eax, 0x6b
mov dword [0x53387c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509ca6
mov eax, dword [ebp - 0x30]
call fcn.00406e28
mov eax, dword [0x533a18]
mov dword [0x5339e0], eax
mov eax, dword [0x5338ac]
add eax, 4
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
call fcn.00407638
mov dword [0x533a30], eax
mov eax, dword [0x53389c]
add eax, 0x2e
mov dword [0x533884], eax
mov eax, dword [0x5338dc]
add eax, 0x2c
mov dword [0x5338c4], eax
mov eax, dword [0x5339e8]
mov dword [0x5338ec], eax
mov eax, dword [0x533984]
mov dword [0x5338fc], eax
mov eax, dword [0x5338ec]
cmp eax, dword [0x5338fc]
jle 0x509c9e
mov eax, dword [0x53392c]
add eax, dword [0x5338a4]
mov dword [0x533974], eax
ret
mov ecx, 0x533a00
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x24]
call fcn.00507940
mov dword [0x533a50], eax
mov eax, dword [0x53387c]
add eax, 0x7d
mov dword [0x5338e4], eax
mov eax, dword [0x5338b4]
add eax, 0x7c
mov dword [0x53393c], eax
mov eax, dword [0x533a18]
mov dword [0x53395c], eax
mov eax, dword [0x5339bc]
mov dword [0x53396c], eax
mov eax, dword [0x53395c]
cmp eax, dword [0x53396c]
jge 0x509d5d
mov eax, dword [0x5339b4]
add eax, 0x12
mov dword [0x5339d8], eax
jmp 0x509d6d
fild dword [0x533944]
call fcn.0040762c
mov dword [0x533a50], eax
mov eax, dword [0x533894]
sub eax, 0xd
mov dword [0x5338bc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509d99
mov eax, dword [ebp - 0x2c]
push eax
call dword [0x533950]
ret
mov eax, dword [0x5339c4]
sub eax, 0xc4
mov dword [0x5338e4], eax
imul eax, dword [0x533a18], 0xc3
mov dword [0x533944], eax
mov eax, dword [0x533964]
call fcn.004071f4
mov dword [0x533964], eax
fild dword [0x533a08]
call fcn.00407638
mov dword [0x5339b4], eax
mov eax, dword [0x53389c]
shl eax, 6
lea eax, [eax + eax*2]
mov dword [0x5339e8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509f59
call fcn.004fd838
mov dword [0x533a00], eax
mov eax, dword [0x5338d4]
mov dword [0x53389c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [0x533884]
sub eax, 0xed
mov dword [0x5338f4], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x10
jne 0x509e9b
fild dword [0x53387c]
call fcn.0040762c
mov dword [0x533964], eax
mov eax, dword [0x533904]
sub eax, 0xea
mov dword [0x5339b4], eax
mov eax, dword [0x533964]
add eax, dword [0x533894]
mov dword [0x533a00], eax
push 0
mov eax, dword [ebp - 0x28]
push eax
call dword [0x533918]
mov eax, dword [0x533a50]
sub eax, dword [0x5338cc]
mov dword [0x5338dc], eax
fild dword [0x5338dc]
call fcn.0040762c
mov dword [0x53392c], eax
mov eax, dword [0x533984]
sub eax, 0x14
mov dword [0x533964], eax
mov eax, dword [0x533a40]
add eax, 0xac
mov dword [0x5339b4], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.00502970
mov dword [0x5338dc], eax
mov eax, dword [0x533a38]
mov edx, eax
shl eax, 4
add eax, edx
mov dword [0x533a18], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x509fbb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509fdd
lea eax, [ebp - 0x1c]
mov edx, 5
call fcn.00409c54
ret