Function at 0x500870
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x23f232a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x241fa2c]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f978], eax
imul eax, dword [0x241fa04], 0xb2
mov dword [0x241fa4c], eax
mov eax, 0x47
sub eax, dword [0x241f938]
mov dword [0x241f928], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jle 0x5008e7
mov eax, dword [0x241f960]
add eax, 0x73
mov dword [0x241f898], eax
imul eax, dword [0x241f898], 0x6c
mov dword [0x241f9dc], eax
mov eax, dword [0x241f8c8]
sub eax, dword [0x241f9e4]
mov dword [0x241f888], eax
mov eax, dword [0x241fa24]
sub eax, dword [0x241f968]
mov dword [0x241f968], eax
mov eax, dword [0x241f860]
imul dword [0x241f8e0]
mov dword [0x241fa2c], eax
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xe
jge 0x500979
inc dword [ebp - 0x1c]
mov eax, dword [0x241f960]
mov dword [0x241f880], eax
mov eax, dword [0x241f868]
mov dword [0x241f8a8], eax
mov eax, dword [0x241f880]
cmp eax, dword [0x241f8a8]
jle 0x500964
mov eax, dword [0x241f9f4]
sub dword [0x241f9e4], eax
jmp 0x500969
call fcn.004fc27c
mov eax, dword [0x241f868]
mov dword [0x241f938], eax
cmp dword [ebp - 0x1c], 0xe
jl 0x500933
mov eax, dword [0x241f940]
sub eax, 0x74
mov dword [0x241fa3c], eax
mov eax, dword [0x241f930]
add eax, 0x3d
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241f8e0], eax
fild dword [0x241f900]
call fcn.0040822c
mov dword [0x241f9b8], eax
mov eax, dword [0x241fa24]
mov dword [0x241f9e4], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.0040ac1c
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [0x241fa3c]
mov dword [0x241f9b8], eax
mov eax, dword [0x241f978]
mov dword [0x241f9dc], eax
mov eax, dword [0x241f9b8]
cmp eax, dword [0x241f9dc]
jge 0x500a62
mov ecx, 1
mov edx, dword [0x241fa1c]
mov eax, 0x23f234c
call fcn.0040b9e8
cmp eax, 0x57
jge 0x500a22
fild dword [ebp - 0x1c]
call fcn.00408238
mov dword [ebp - 0x14], eax
imul eax, dword [0x241f8a0], 0x57
mov dword [0x241f9dc], eax
jmp 0x500a42
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x241f9cc]
mov eax, dword [ebp - 0x18]
call fcn.004f8834
mov eax, dword [0x241f8d8]
call fcn.00407df4
mov dword [0x241f8d8], eax
fild dword [0x241f8f8]
call fcn.0040822c
mov dword [0x241f9fc], eax
mov eax, dword [0x241f9a8]
sub eax, dword [0x241f8b0]
mov dword [0x241f898], eax
mov eax, dword [0x241fa3c]
add eax, 0x44
mov dword [0x241f9a8], eax
imul eax, dword [0x241f878], 0xa7
mov dword [0x241f858], eax
mov ecx, dword [0x241f8f8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
call fcn.004fa9c8
mov dword [0x241f9fc], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [0x241f860]
call fcn.004fc04c
xor eax, eax
push ebp
push 0x23f215d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x241f878]
mov dword [0x241f8d0], eax
mov eax, dword [0x241fa14]
sub eax, dword [0x241fa24]
mov dword [0x241f9b8], eax
mov eax, dword [0x241f858]
add eax, 4
mov dword [0x241f868], eax
mov eax, dword [0x241f9dc]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f930], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c]
cmp eax, edx
jle 0x500b15
mov eax, dword [0x241f8f8]
add eax, 0xba
mov dword [0x241f878], eax
jmp 0x500b25
mov eax, dword [0x241f938]
sub eax, dword [0x241f9c0]
mov dword [0x241f978], eax
mov eax, dword [0x241fa3c]
mov dword [0x241fa24], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14]
cmp eax, edx
jle 0x500b8b
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
mov dword [ebp - 0x14], eax
mov eax, dword [0x241f9c0]
sub eax, 4
mov dword [0x241f9dc], eax
mov eax, dword [0x241f858]
sub eax, dword [0x241f9cc]
mov dword [0x241f8d0], eax
mov eax, dword [0x241f988]
mov dword [0x241f858], eax
mov eax, dword [0x241f928]
mov dword [0x241f8b8], eax
mov eax, dword [0x241f908]
mov dword [0x241f908], eax
jmp 0x500baf
mov eax, dword [0x241f9c0]
mov dword [0x241f9c0], eax
mov eax, dword [0x241f9c0]
cmp eax, dword [0x241f908]
jge 0x500baf
lea eax, [ebp - 8]
mov edx, 0x23f2378
call fcn.0040ac1c
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jle 0x500bc5
imul eax, dword [0x241f870], 0x71
mov dword [0x241f890], eax
jmp 0x500be8
mov eax, dword [0x241f938]
mov dword [0x241f9e4], eax
mov eax, dword [0x241f888]
mov dword [0x241f868], eax
mov eax, dword [0x241f878]
add eax, 0xca
mov dword [0x241f908], eax
mov eax, dword [0x241f9cc]
call fcn.00407df4
mov dword [0x241f9cc], eax
mov eax, dword [0x241f9e4]
sub eax, dword [0x241fa04]
cmp eax, 0x67
jge 0x500c31
mov eax, dword [ebp - 0x10]
mov edx, 0x23f23a0
call fcn.0040b7a0
jne 0x500c24
imul eax, dword [0x241f8d0], 0x59
mov dword [0x241f940], eax
jmp 0x500c31
mov eax, dword [0x241f958]
add eax, 4
mov dword [0x241f8a8], eax
lea eax, [ebp - 0x14]
push eax
push 0x241f8f0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
mov edx, 0x241fa2c
mov eax, 0x241f8f8
call fcn.004f8a44
mov dword [0x241f9f4], eax
mov eax, dword [0x241f970]
add eax, 4
mov dword [0x241f880], eax
mov eax, dword [ebp - 0x20]
cmp word [eax], 0x5a4d
je 0x500e1c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x500d4f
inc dword [ebp - 0x1c]
push 0x241f868
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x241f940
mov ecx, 0x241f9b8
mov edx, 0x241f970
mov eax, 0x241f8a8
call fcn.004f8a44
mov dword [0x241f980], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, 1
sub eax, dword [0x241f938]
cmp eax, 0xfd
jge 0x500cd4
mov eax, dword [0x241f970]
mov dword [0x241f868], eax
jmp 0x500ce4
mov eax, dword [0x241f9a8]
sub eax, dword [0x241f9cc]
mov dword [0x241f9d4], eax
mov eax, 0xb5
sub eax, dword [0x241f878]
mov dword [0x241f908], eax
mov eax, dword [0x241fa24]
mov dword [0x241f988], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
jne 0x500cb6
mov eax, dword [0x241f9fc]
add eax, dword [0x241f930]
mov dword [0x241f8b0], eax
mov eax, 0x4c
sub eax, dword [0x241fa04]
cmp eax, 0xa2
jge 0x500d38
mov eax, dword [0x241fa2c]
sub eax, 0xd9
mov dword [0x241fa34], eax
mov eax, dword [0x241fa04]
sub eax, 6
mov dword [0x241f940], eax
cmp dword [ebp - 0x1c], 0
jl 0x500c83
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x1c]
cmp eax, edx
jle 0x500d6b
mov eax, dword [0x241f978]
mov dword [0x241f880], eax
jmp 0x500dd5
mov eax, dword [0x241f9c0]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f980], eax
mov eax, dword [0x241f8e0]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f870], eax
mov eax, dword [0x241f950]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x500dc0
mov eax, dword [ebp - 0x40]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x48
jne 0x500dd5
imul eax, dword [0x241f970], 0xbb
mov dword [0x241f9d4], eax
mov eax, dword [0x241f9fc]
add eax, 4
mov dword [0x241f928], eax
fild dword [0x241f9e4]
call fcn.0040822c
mov dword [0x241f9f4], eax
mov eax, dword [0x241f9cc]
add eax, 0x13
mov dword [0x241f8a8], eax
mov eax, dword [0x241f9b8]
sub eax, dword [0x241fa04]
mov dword [0x241f968], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
mov eax, dword [0x241f8f0]
mov dword [0x241f888], eax
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x23f23c4
call fcn.0040b9e8
cmp eax, 0x2a
je 0x500e4a
fild dword [ebp - 0x14]
call fcn.0040822c
mov dword [ebp - 0x18], eax
jmp 0x500e5a
mov eax, dword [0x241f9cc]
imul dword [0x241fa14]
mov dword [0x241f898], eax
mov eax, dword [0x241f8e8]
imul dword [0x241f988]
mov dword [0x241f970], eax
mov eax, dword [0x241f8d8]
sub eax, 0xec
mov dword [0x241fa44], eax
mov eax, dword [0x241f928]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f8d8], eax
mov eax, 0x18
sub eax, dword [0x241f8f8]
mov dword [0x241f9b0], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x241fa34]
mov dword [0x241f9b0], eax
mov eax, dword [0x241f9d4]
call fcn.00407df4
mov dword [0x241f9d4], eax
mov eax, dword [0x241f8c0]
mov dword [0x241f9f4], eax
mov eax, dword [0x241f9f4]
cmp eax, dword [0x241f9d4]
jge 0x500ef0
lea eax, [ebp - 8]
mov edx, 0x23f2408
call fcn.0040ac1c
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.0040ac1c
mov eax, dword [ebp - 0x1c]
add eax, 0xef
mov dword [ebp - 0x18], eax
mov eax, 0x67
sub eax, dword [0x241f8d0]
mov dword [0x241fa2c], eax
mov edx, dword [0x241f9f4]
mov eax, dword [ebp - 0x1c]
call fcn.004fc04c
mov dword [0x241f9e4], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x4550
je 0x50106d
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jne 0x500f79
mov eax, dword [0x241f9cc]
sub eax, dword [0x241f9a8]
cmp eax, 0x5c
jge 0x500f98
mov eax, dword [0x241f948]
call fcn.00407df4
mov dword [0x241f948], eax
imul eax, dword [0x241f8c8], 0x47
mov dword [0x241f870], eax
jmp 0x500f98
imul eax, dword [0x241f938], 0xd5
mov dword [0x241f888], eax
mov eax, dword [0x241fa2c]
add eax, dword [0x241f9cc]
mov dword [0x241f970], eax
mov eax, dword [0x241f958]
mov dword [0x241f860], eax
mov eax, dword [0x241f860]
cmp eax, dword [0x241f948]
jle 0x500fee
mov eax, dword [0x241f9e4]
add eax, 0xc7
mov dword [0x241f958], eax
mov eax, dword [0x241f9c4]
mov edx, dword [0x241f9ec]
call fcn.0040b7a0
jne 0x500fdf
mov eax, dword [0x241f968]
add eax, 0x5a
mov dword [0x241f890], eax
jmp 0x500fee
imul eax, dword [0x241fa4c], 0xba
mov dword [0x241f9dc], eax
mov eax, dword [0x241f900]
add eax, 0x7e
mov dword [0x241f980], eax
mov eax, dword [0x241f9d4]
call fcn.00407df4
mov dword [0x241f9d4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov edx, 0x23f242c
call fcn.0040b7a0
jne 0x501135
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x14]
cmp eax, edx
jle 0x5010fa
mov eax, dword [0x241fa44]
call fcn.00407df4
mov dword [0x241fa44], eax
mov eax, dword [0x241f8b0]
mov dword [0x241f878], eax
mov eax, dword [0x241f878]
cmp eax, dword [0x241fa44]
jle 0x5010e2
mov eax, dword [0x241f890]
imul dword [0x241f948]
mov dword [0x241f988], eax
jmp 0x501109
lea eax, [ebp - 8]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040b7d8
jmp 0x501109
imul eax, dword [0x241f898], 0xa3
mov dword [0x241fa3c], eax
mov eax, dword [0x241f8c8]
sub eax, 0x6a
mov dword [0x241f938], eax
mov eax, dword [0x241f868]
imul dword [0x241f9d4]
mov dword [0x241fa24], eax
mov eax, dword [0x241f858]
sub eax, 0x62
mov dword [0x241f8c0], eax
jmp 0x50118c
mov eax, dword [0x241fa44]
mov dword [0x241f980], eax
mov eax, dword [0x241f930]
mov dword [0x241f9c0], eax
mov eax, dword [0x241f878]
cmp eax, dword [0x241f9c0]
jge 0x501168
mov eax, dword [0x241f8b0]
sub eax, dword [0x241f938]
mov dword [0x241f8e0], eax
jmp 0x50118c
mov eax, dword [0x241f9fc]
mov dword [0x241f9d4], eax
mov eax, dword [0x241f9d4]
cmp eax, dword [0x241f9c0]
jge 0x50118c
mov eax, dword [0x241f878]
add eax, 0x4b
mov dword [0x241f930], eax
mov eax, dword [0x241f888]
sub eax, dword [0x241f9c0]
mov dword [0x241f960], eax
mov eax, dword [0x241f8c0]
imul dword [0x241f938]
mov dword [0x241fa24], eax
imul eax, dword [0x241f8a8], 0x6c
mov dword [0x241f8c8], eax
mov eax, dword [0x241f9d4]
mov dword [0x241f9d4], eax
mov eax, dword [0x241f908]
mov dword [0x241f9f4], eax
mov eax, dword [0x241f9d4]
cmp eax, dword [0x241f9f4]
jge 0x50122d
lea eax, [ebp - 8]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040b7d8
lea eax, [ebp - 8]
mov edx, 0x23f2450
call fcn.0040ac1c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xb
jge 0x50121e
inc dword [ebp - 0x14]
mov eax, dword [0x241f8d0]
add eax, 0xfe
mov dword [0x241fa3c], eax
jmp 0x50121e
imul eax, dword [0x241fa14], 0xf7
mov dword [0x241f968], eax
mov eax, dword [0x241fa4c]
mov dword [0x241f880], eax
mov eax, 0x2b
sub eax, dword [ebp - 0x1c]
cmp eax, 0x31
jge 0x501262
mov eax, dword [0x241fa34]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f9a8], eax
mov eax, dword [0x241fa34]
call fcn.00407df4
mov dword [0x241fa34], eax
mov eax, dword [0x241f9d4]
cmp eax, dword [0x241fa34]
jge 0x5012ac
lea eax, [ebp - 0x14]
push eax
push 0x241fa14
lea eax, [ebp - 0x1c]
push eax
push 0x241f9c0
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x18]
mov eax, 0x241f8e0
call fcn.004f8a44
mov dword [0x241f958], eax
sub dword [0x241f988], 0x48
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x5012c3
mov eax, dword [ebp - 0x44]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xb1
jle 0x5012e1
lea eax, [ebp - 8]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040b7d8
jmp 0x5012f1
mov eax, dword [0x241f8f0]
imul dword [0x241f9a8]
mov dword [0x241f978], eax
mov eax, dword [0x241f930]
add eax, dword [0x241f930]
mov dword [0x241f898], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 4], 0x14c
je 0x5013df
mov eax, dword [0x241fa3c]
mov dword [0x241f9c0], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x501331
mov eax, dword [ebp - 0x48]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x18
jle 0x5013a3
mov ecx, 1
mov edx, dword [0x241fa1c]
mov eax, 0x23f247c
call fcn.0040b9e8
cmp eax, 0x84
je 0x50135e
mov eax, dword [ebp - 0x14]
imul dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jmp 0x50136e
mov eax, dword [0x241f888]
sub eax, dword [0x241f8c0]
mov dword [0x241f898], eax
mov eax, dword [ebp - 0x18]
add eax, 0x52
cmp eax, dword [ebp - 0x1c]
jge 0x501385
imul eax, dword [0x241f8f0], 0x79
mov dword [0x241fa04], eax
mov eax, dword [0x241f938]
add eax, 0x40
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241f8f8], eax
mov eax, dword [0x241f8b8]
imul dword [0x241f870]
mov dword [0x241fa4c], eax
mov eax, dword [0x241f9b0]
add eax, 0xce
mov dword [0x241f930], eax
mov eax, dword [0x241f980]
add eax, dword [0x241f8d0]
mov dword [0x241f9fc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
mov ecx, 1
mov edx, dword [0x241f910]
mov eax, 0x23f24d8
call fcn.0040b9e8
cmp eax, 0xb6
je 0x501430
mov eax, dword [0x241fa44]
mov dword [0x241f8c0], eax
mov eax, dword [0x241fa34]
add eax, dword [0x241f9cc]
mov dword [0x241f980], eax
mov eax, dword [0x241f9b8]
sub eax, 0x81
mov dword [0x241f860], eax
mov eax, dword [0x241fa04]
mov dword [0x241f8a0], eax
jmp 0x50144f
mov eax, dword [0x241f890]
imul dword [0x241f8f0]
mov dword [0x241f9b0], eax
imul eax, dword [0x241f880], 0xa9
mov dword [0x241f870], eax
mov eax, dword [0x241fa14]
mov dword [0x241f938], eax
mov eax, dword [0x241f8e8]
add eax, 4
mov dword [0x241f9d4], eax
fild dword [0x241f8d8]
call fcn.0040822c
mov dword [0x241f890], eax
mov eax, dword [0x241f908]
mov dword [0x241f938], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
imul eax, dword [0x241f978], 0x8e
mov dword [0x241f9c0], eax
mov eax, dword [0x241f900]
add eax, 0xbd
mov dword [0x241f890], eax
mov eax, dword [0x241f8a0]
sub eax, dword [0x241f8f0]
mov dword [0x241f960], eax
mov ecx, 1
mov edx, dword [0x241f9c4]
mov eax, 0x23f2528
call fcn.0040b9e8
cmp eax, 0x7c
jge 0x5014e0
mov eax, dword [0x241f9dc]
add eax, 0xe5
mov dword [0x241f8a0], eax
mov eax, dword [ebp - 0x24]
test byte [eax + 0x38], 1
je 0x5015cf
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f900]
sub eax, dword [0x241fa4c]
mov dword [0x241fa24], eax
mov eax, dword [0x241f8e8]
add eax, dword [0x241f9d4]
cmp eax, dword [0x241f9d4]
jle 0x501528
mov eax, dword [0x241f960]
call fcn.00407df4
mov dword [0x241f960], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
imul eax, dword [ebp - 0x18], 0x26
mov dword [ebp - 0x14], eax
mov eax, dword [0x241f8c0]
mov dword [0x241f930], eax
mov eax, dword [0x241f948]
call fcn.00407df4
mov dword [0x241f948], eax
mov eax, dword [0x241f930]
cmp eax, dword [0x241f948]
jge 0x50168c
mov eax, dword [0x241f9c0]
mov dword [0x241f9cc], eax
mov eax, dword [0x241f9cc]
cmp eax, dword [0x241f948]
jge 0x501666
mov eax, dword [0x241f920]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x501630
mov eax, dword [ebp - 0x4c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x36
jne 0x501648
mov eax, dword [0x241f9f4]
sub eax, dword [0x241f8f0]
mov dword [0x241f930], eax
jmp 0x501666
mov eax, dword [0x241f9c0]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f8b0], eax
mov eax, dword [0x241f9b0]
mov dword [0x241f970], eax
mov eax, dword [0x241f970]
cmp eax, dword [0x241f948]
jge 0x5016b7
mov eax, dword [0x241f928]
sub eax, 0x17
mov dword [0x241f8a0], eax
jmp 0x5016b7
mov eax, dword [0x241f870]
mov dword [0x241f980], eax
mov eax, dword [0x241f8f8]
mov dword [0x241f9cc], eax
mov eax, dword [0x241fa14]
mov dword [0x241f9fc], eax
mov eax, dword [0x241f9f4]
shl eax, 6
mov dword [0x241f8b0], eax
mov eax, dword [0x241f978]
mov dword [0x241f980], eax
mov eax, dword [0x241fa2c]
add eax, 0x6b
mov dword [0x241fa3c], eax
fild dword [0x241f860]
call fcn.0040822c
mov dword [0x241f8d0], eax
push 4
push 0x3000
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x34]
push eax
call dword [0x241f97c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x501959
mov eax, dword [ebp - 0x14]
add eax, 0x60
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f8c0]
mov dword [0x241f988], eax
mov eax, dword [0x241f9cc]
mov dword [0x241f9cc], eax
add dword [0x241f868], 4
mov eax, dword [0x241f8a0]
shl eax, 3
lea eax, [eax + eax*8]
mov dword [0x241f900], eax
mov eax, dword [0x241f888]
mov dword [0x241f9d4], eax
push 4
push 0x3000
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x50]
push eax
push 0
call dword [0x241f97c]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x5017ce
inc dword [ebp - 0x1c]
imul eax, dword [0x241fa34], 0x99
mov dword [0x241f930], eax
mov eax, dword [0x241f980]
call fcn.00407df4
mov dword [0x241f980], eax
mov eax, dword [0x241f9cc]
cmp eax, dword [0x241f8f8]
jle 0x5017a3
lea eax, [ebp - 8]
mov edx, 0x23f2594
call fcn.0040ac1c
add dword [0x241f980], 4
mov eax, dword [0x241f900]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f860], eax
cmp dword [ebp - 0x1c], 2
jl 0x501768
mov eax, dword [0x241f8a0]
imul dword [0x241fa3c]
mov dword [0x241f980], eax
mov eax, dword [0x241fa3c]
add eax, dword [0x241f8f8]
mov dword [0x241f868], eax
mov eax, dword [0x241fa2c]
add eax, 4
mov dword [0x241f908], eax
fild dword [0x241fa14]
call fcn.00408238
mov dword [0x241f9e4], eax
cmp dword [ebp - 0x28], 0
jne 0x501896
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
mov eax, dword [ebp - 0x1c]
add eax, 0x8c
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f990]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x5018ba
mov eax, dword [ebp - 0x50]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x2a
jne 0x5018d9
mov eax, dword [0x241f908]
mov dword [0x241f860], eax
mov eax, dword [0x241f960]
sub eax, 0xd6
mov dword [0x241f8f8], eax
mov eax, dword [0x241f940]
sub eax, dword [0x241fa4c]
cmp eax, dword [0x241fa04]
jne 0x5018f8
mov eax, dword [0x241fa44]
mov dword [0x241f868], eax
jmp 0x501907
mov eax, dword [0x241f900]
add eax, 0x95
mov dword [0x241f9b0], eax
mov eax, dword [0x241fa04]
mov dword [0x241fa44], eax
mov ecx, 1
mov edx, dword [0x241fa1c]
mov eax, 0x23f25e4
call fcn.0040b9e8
cmp eax, 0xe7
jge 0x50193f
mov eax, dword [0x241f8a0]
imul dword [0x241f8b0]
mov dword [0x241f968], eax
jmp 0x501949
mov eax, dword [0x241f980]
mov dword [0x241f868], eax
mov eax, dword [0x241f9b8]
sub eax, dword [0x241f8a8]
mov dword [0x241f9d4], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xb
jge 0x50198b
inc dword [ebp - 0x1c]
mov eax, dword [0x241f870]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x241fa34]
mov eax, dword [ebp - 0x14]
call fcn.004f85cc
mov dword [0x241f8e0], eax
jmp 0x50198b
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xd
jge 0x5019bf
inc dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x5019bf
inc dword [ebp - 0x14]
mov eax, dword [0x241f878]
mov dword [0x241f8c8], eax
cmp dword [ebp - 0x14], 1
jl 0x5019a4
jmp 0x5019bf
mov eax, dword [0x241fa4c]
imul dword [0x241f9c0]
mov dword [0x241f860], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x14]
mov eax, 0x241f988
call fcn.004f9f84
mov dword [0x241f890], eax
push 0x1c
push 8
call dword [0x241f9d8]
push eax
call dword [0x241f96c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f878]
add eax, 0xa6
mov dword [0x241f868], eax
call fcn.004ec0f0
mov dword [0x241f980], eax
mov eax, dword [0x241f8c0]
add eax, dword [0x241fa44]
cmp eax, dword [0x241fa44]
jle 0x501a64
mov eax, dword [0x241f948]
sub eax, dword [0x241f9cc]
mov dword [0x241f9b8], eax
mov eax, dword [0x241f9a8]
mov dword [0x241fa04], eax
mov eax, dword [0x241f9d4]
sub eax, 0xcb
mov dword [0x241f8f8], eax
cmp dword [ebp - 0x3c], 0
jne 0x501ba6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f878]
add eax, 0x21
mov dword [0x241fa4c], eax
mov eax, dword [0x241f8e0]
add eax, dword [0x241f8a8]
mov dword [0x241f9b0], eax
mov eax, dword [0x241f9dc]
imul dword [0x241f8d8]
mov dword [0x241f898], eax
mov eax, dword [0x241fa24]
add eax, 0x44
mov dword [0x241f940], eax
mov eax, dword [0x241f8b0]
mov dword [0x241f980], eax
push 0x8000
push 0
mov eax, dword [ebp - 0x28]
push eax
call dword [0x241f9a4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
mov dword [eax + 4], edx
lea eax, [ebp - 8]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040b7d8
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 7
jge 0x501be0
inc dword [ebp - 0x14]
mov eax, dword [0x241f878]
mov dword [0x241f930], eax
cmp dword [ebp - 0x14], 7
jl 0x501bcd
mov eax, dword [0x241f9c0]
mov dword [0x241f9c0], eax
mov eax, dword [0x241fa04]
add eax, 4
mov dword [0x241f870], eax
imul eax, dword [0x241fa4c], 0xbf
mov dword [0x241f900], eax
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040b7d8
lea eax, [ebp - 0x84]
push eax
call dword [0x241f9e0]
mov eax, dword [0x241fa4c]
add eax, 0x18
mov dword [0x241f9b0], eax
mov eax, dword [0x241fa3c]
add eax, dword [0x241f8b8]
mov dword [0x241f870], eax
mov eax, dword [0x241f878]
imul dword [0x241fa4c]
mov dword [0x241f908], eax
mov eax, dword [0x241f860]
sub eax, 0xd
mov dword [0x241f9e4], eax
mov eax, dword [0x241f898]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f890], eax
mov eax, 0x39
sub eax, dword [0x241f888]
mov dword [0x241f948], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x80]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x1c]
imul dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f898]
mov dword [0x241f978], eax
mov eax, dword [0x241f9f4]
mov dword [0x241f9a8], eax
mov eax, dword [0x241f880]
add eax, 0xf6
mov dword [0x241fa4c], eax
fild dword [0x241f870]
call fcn.00408238
mov dword [0x241f8f0], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x18]
cmp eax, edx
jge 0x501cf2
mov eax, dword [0x241f8a0]
sub eax, 0x87
mov dword [0x241fa24], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 0x28]
push eax
call dword [0x241f97c]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 8]
mov edx, 0x23f2620
call fcn.0040ac1c
mov eax, dword [0x241f8f0]
mov dword [0x241f898], eax
mov eax, dword [0x241fa04]
mov dword [0x241f8c0], eax
mov eax, dword [0x241f898]
cmp eax, dword [0x241f8c0]
jle 0x501d9e
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x18], eax
push 0x241f8e8
push 0x241fa3c
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x18]
mov edx, 0x241f9cc
lea eax, [ebp - 0x14]
call fcn.004fcdfc
mov dword [0x241f880], eax
lea eax, [ebp - 0x1c]
push eax
push 0x241fa2c
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x241f8c0
mov edx, 0x241fa3c
mov eax, 0x241f9e4
call fcn.004f9f84
mov dword [0x241f968], eax
imul eax, dword [0x241f8f0], 0xd3
mov dword [0x241f928], eax
jmp 0x501dce
mov eax, dword [0x241f9dc]
add eax, dword [0x241f8e0]
cmp eax, dword [0x241f8e0]
jle 0x501dbe
lea eax, [ebp - 8]
mov edx, 0x23f2644
call fcn.0040ac1c
mov eax, dword [0x241f960]
imul dword [0x241f8b8]
mov dword [0x241f9b0], eax
mov eax, dword [0x241f8b8]
call fcn.00407df4
mov dword [0x241f8b8], eax
mov eax, dword [0x241f8b8]
cmp eax, dword [0x241f8c0]
jle 0x501dfa
fild dword [0x241f880]
call fcn.00408238
mov dword [0x241f9b8], eax
mov eax, dword [0x241f9cc]
mov dword [0x241fa3c], eax
mov eax, dword [0x241f868]
sub eax, 0xb6
mov dword [0x241f8c8], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
call fcn.00407bb0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f960]
mov dword [0x241f988], eax
mov eax, dword [0x241f9b8]
call fcn.00407df4
mov dword [0x241f9b8], eax
mov eax, dword [0x241f940]
add eax, 0xa
mov dword [0x241f860], eax
mov eax, dword [0x241f8a0]
call fcn.00407df4
mov dword [0x241f8a0], eax
mov eax, dword [0x241fa3c]
sub eax, 5
mov dword [0x241f940], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov dword [edx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
fild dword [0x241f8d8]
call fcn.00408238
mov dword [0x241f9c0], eax
mov eax, dword [0x241f928]
mov dword [0x241f870], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.0040b7a0
jne 0x501ec2
fild dword [0x241f958]
call fcn.0040822c
mov dword [0x241f970], eax
jmp 0x501ed2
mov eax, dword [0x241f890]
sub eax, dword [0x241f8c8]
mov dword [0x241f8b0], eax
mov eax, 0x87
sub eax, dword [ebp - 0x1c]
cmp eax, 0xf5
jge 0x501ef3
fild dword [0x241f8b0]
call fcn.00408238
mov dword [0x241fa3c], eax
jmp 0x501f02
mov eax, dword [0x241f8e0]
add eax, 0xa9
mov dword [0x241f938], eax
mov eax, dword [0x241f978]
mov dword [0x241f9e4], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
call fcn.004f90a0
test al, al
jne 0x50206e
mov ecx, 1
mov edx, dword [ebp - 0x10]
mov eax, 0x23f268c
call fcn.0040b9e8
cmp eax, 0xc4
je 0x501f95
fild dword [ebp - 0x18]
call fcn.00408238
mov dword [ebp - 0x14], eax
mov eax, dword [0x241f9b8]
sub eax, dword [0x241f8a8]
mov dword [0x241f9e4], eax
lea eax, [ebp - 0x18]
push eax
push 0x241f928
push 0x241f8b0
mov ecx, 0x241f870
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x14]
call fcn.004fcdfc
mov dword [0x241f980], eax
mov eax, dword [0x241f940]
mov dword [0x241f8b0], eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
call fcn.004f85cc
mov eax, dword [0x241f8f8]
sub eax, dword [0x241fa24]
mov dword [0x241f890], eax
mov eax, dword [0x241f8a0]
add eax, dword [0x241f8e0]
mov dword [0x241f960], eax
mov eax, dword [0x241f9b8]
call fcn.00407df4
mov dword [0x241f9b8], eax
mov eax, dword [0x241f948]
add eax, 0x70
mov dword [0x241fa44], eax
mov eax, dword [0x241f980]
sub eax, 0xd3
mov dword [0x241f8d8], eax
mov eax, dword [0x241f970]
add eax, 0x9c
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241f9b0], eax
lea eax, [ebp - 0x18]
push eax
push 0x241f9f4
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x241fa14
mov edx, 0x241f9cc
lea eax, [ebp - 0x14]
call fcn.004fcdfc
call fcn.004f83b4
lea eax, [ebp - 8]
mov edx, dword [ebp - 8]
call fcn.0040ac1c
mov eax, dword [0x241f970]
mov dword [0x241f898], eax
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x14], eax
mov eax, dword [0x241f958]
mov dword [0x241f958], eax
lea eax, [ebp - 0x1c]
push eax
push 0x241f980
lea eax, [ebp - 0x1c]
push eax
push 0x241f900
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, 0x241f8e8
call fcn.0050067c
mov eax, dword [ebp - 0x14]
sub eax, 0xc4
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f868]
add eax, dword [0x241f9c0]
mov dword [0x241fa2c], eax
mov eax, dword [0x241f878]
add eax, dword [0x241f928]
cmp eax, dword [0x241f928]
jle 0x5020ae
mov eax, dword [0x241fa4c]
add eax, dword [0x241fa14]
mov dword [0x241f938], eax
jmp 0x5020c4
mov eax, dword [0x241f9d4]
mov dword [0x241fa24], eax
imul eax, dword [0x241fa24], 0x6d
mov dword [0x241f8b8], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x5020db
mov eax, dword [ebp - 0x58]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xc4
jle 0x5020ee
mov eax, dword [0x241f8d8]
mov dword [0x241fa24], eax
mov eax, dword [0x241f8c0]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f930], eax
lea eax, [ebp - 0xc]
mov edx, 0x23f26b0
call fcn.0040ac1c
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
sub edx, dword [eax + 0x34]
mov dword [ebp - 0x30], edx
mov eax, dword [0x241f9cc]
add eax, 0x27
cmp eax, dword [0x241f8c8]
jge 0x502179
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [0x241f8a0]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
call fcn.004f85cc
mov dword [0x241f9cc], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jne 0x50213a
mov eax, dword [0x241f988]
sub eax, 0x7b
mov dword [0x241f9dc], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x241f970]
call fcn.004f8834
mov eax, dword [0x241fa24]
add eax, 0x41
mov dword [0x241f938], eax
mov eax, dword [0x241f8d0]
add dword [0x241fa04], eax
mov eax, dword [0x241f8a0]
mov dword [0x241fa44], eax
mov eax, 0x42
sub eax, dword [0x241f8e0]
cmp eax, 0x4d
jge 0x5021bb
fild dword [0x241f978]
call fcn.00408238
mov dword [0x241f928], eax
mov eax, dword [0x241f870]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241fa2c], eax
cmp dword [ebp - 0x30], 0
je 0x50227a
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x241f900]
call fcn.004fa9c8
mov eax, dword [0x241f9cc]
mov dword [0x241f8c8], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f940]
sub eax, dword [0x241f870]
mov dword [0x241fa04], eax
mov eax, dword [0x241f868]
call fcn.00407df4
mov dword [0x241f868], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jne 0x502202
fild dword [0x241f9d4]
call fcn.0040822c
mov dword [0x241f960], eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x241f888]
push eax
mov eax, dword [0x241f8c8]
push eax
mov eax, dword [0x241f8b0]
push eax
mov ecx, dword [0x241fa14]
mov edx, dword [0x241f8f0]
mov eax, dword [ebp - 0x14]
call fcn.004f8734
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
call fcn.004fd040
mov edx, dword [ebp - 0x3c]
mov byte [edx + 0x15], al
jmp 0x5022fc
imul eax, dword [ebp - 0x14], 0xcf
mov dword [ebp - 0x18], eax
mov eax, dword [0x241fa4c]
sub eax, 0xfe
mov dword [0x241fa2c], eax
mov eax, dword [0x241f890]
mov dword [0x241f870], eax
mov eax, dword [0x241f978]
mov dword [0x241f898], eax
mov eax, dword [0x241f898]
cmp eax, dword [0x241f870]
jle 0x5022c4
mov eax, 0x2a
sub eax, dword [0x241f870]
mov dword [0x241f980], eax
mov eax, dword [0x241f9fc]
add eax, 0xbd
mov dword [0x241f8b8], eax
lea eax, [ebp - 0x14]
push eax
push 0x241fa4c
mov ecx, 0x241f970
mov edx, 0x241f9f4
mov eax, 0x241f8f8
call fcn.004f8494
mov dword [0x241f888], eax
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x15], 1
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jge 0x50232e
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
call fcn.0040b7a0
jne 0x50235c
mov eax, dword [0x241f8a8]
call fcn.00407df4
mov dword [0x241f8a8], eax
jmp 0x50235c
mov eax, dword [0x241f948]
add eax, 0x3c
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241fa04], eax
fild dword [0x241f8d8]
call fcn.00408238
mov dword [0x241f8c8], eax
mov eax, dword [0x241f900]
add eax, 0x32
mov dword [0x241f9e4], eax
fild dword [0x241f958]
call fcn.0040822c
mov dword [0x241f898], eax
mov eax, dword [0x241f9a8]
imul dword [0x241fa4c]
mov dword [0x241f940], eax
mov eax, dword [0x241fa4c]
mov dword [0x241f978], eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004fddcc
test al, al
jne 0x502540
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [0x241f9e4]
mov dword [0x241f888], eax
mov eax, dword [0x241f9d4]
sub eax, 0x7d
mov dword [0x241f940], eax
mov eax, dword [0x241f960]
add eax, 4
mov dword [0x241fa2c], eax
mov eax, dword [0x241f948]
mov dword [0x241f880], eax
mov eax, dword [0x241f858]
mov dword [0x241f8a8], eax
mov eax, dword [0x241f880]
cmp eax, dword [0x241f8a8]
jle 0x502400
fild dword [0x241f888]
call fcn.00408238
mov dword [0x241f9c0], eax
jmp 0x502418
mov eax, dword [0x241f958]
add eax, 0x69
mov dword [0x241f8f8], eax
jmp 0x502418
imul eax, dword [0x241f888], 0xc7
mov dword [0x241f8a8], eax
mov eax, dword [0x241f870]
add eax, 4
mov dword [0x241f968], eax
fild dword [0x241f860]
call fcn.00408238
mov dword [0x241fa3c], eax
mov eax, dword [0x241fa4c]
add eax, 0x22
mov dword [0x241f8e0], eax
mov eax, dword [0x241fa34]
sub eax, dword [0x241f978]
mov dword [0x241f9b8], eax
call fcn.004f83b4
imul eax, dword [0x241f980], 0xac
mov dword [0x241fa14], eax
mov eax, dword [0x241f970]
add eax, 0x74
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241f8c0], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.0040b7a0
jne 0x5024b0
mov eax, dword [0x241f948]
sub eax, dword [0x241f940]
mov dword [0x241f9f4], eax
mov eax, dword [0x241f9e4]
sub eax, 3
mov dword [0x241f8d8], eax
mov eax, dword [0x241f888]
mov dword [0x241f928], eax
mov eax, dword [0x241f978]
mov dword [0x241f958], eax
mov eax, dword [0x241f958]
cmp eax, dword [0x241f928]
jge 0x502508
mov eax, dword [0x241f878]
sub eax, dword [0x241f8c0]
cmp eax, dword [0x241f9dc]
jne 0x5024fe
lea eax, [ebp - 8]
mov edx, dword [ebp - 8]
call fcn.0040ac1c
jmp 0x502508
mov eax, dword [0x241f858]
mov dword [0x241f8f8], eax
mov eax, dword [0x241f9f4]
add eax, 0xfb
cmp eax, dword [0x241f980]
jge 0x502540
mov eax, dword [0x241f978]
mov dword [0x241f858], eax
mov eax, dword [0x241f958]
cmp eax, dword [0x241f858]
jle 0x502540
imul eax, dword [0x241f958], 0xb8
mov dword [0x241f968], eax
mov eax, dword [ebp - 0x3c]
call fcn.004fac70
test al, al
jne 0x502590
mov eax, dword [ebp - 0x14]
add eax, 0xb4
mov dword [ebp - 0x18], eax
fild dword [0x241f908]
call fcn.00408238
mov dword [0x241fa4c], eax
mov eax, dword [0x241f960]
mov dword [0x241f8e0], eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x241f9e4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
call fcn.004f85cc
mov dword [0x241f890], eax
call fcn.004f83b4
mov eax, dword [ebp - 0x1c]
add eax, 0xf
mov dword [ebp - 0x18], eax
mov eax, dword [0x241f8a0]
add eax, dword [0x241f8f8]
mov dword [0x241f870], eax
mov eax, dword [0x241f940]
mov dword [0x241f8a0], eax
mov eax, dword [0x241f898]
mov dword [0x241f8c0], eax
mov eax, dword [0x241f8a0]
cmp eax, dword [0x241f8c0]
jle 0x5025ea
mov eax, dword [0x241f978]
add eax, 0x1d
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241f9c0], eax
jmp 0x50264a
lea eax, [ebp - 8]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040b7d8
mov eax, dword [0x241f868]
mov dword [0x241f8a8], eax
mov eax, dword [0x241f8a8]
cmp eax, dword [0x241f8c0]
jle 0x502629
mov eax, dword [0x241fa4c]
imul dword [0x241f9fc]
mov dword [0x241f9d4], eax
jmp 0x50264a
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
mov edx, 0x241f880
lea eax, [ebp - 0x1c]
call fcn.004fcdfc
mov dword [0x241f8a8], eax
mov eax, dword [0x241f8a8]
mov dword [0x241f9f4], eax
mov eax, dword [0x241f938]
sub eax, 0xd1
mov dword [0x241f890], eax
mov eax, dword [0x241f928]
sub eax, dword [0x241fa3c]
mov dword [0x241f948], eax
mov eax, dword [ebp - 0x3c]
call fcn.004fc434
test al, al
jne 0x5028bd
mov eax, dword [0x241f9e4]
add eax, dword [0x241f930]
mov edx, dword [0x241fa44]
add edx, dword [0x241f9e4]
cmp eax, edx
jge 0x5026ee
lea eax, [ebp - 8]
mov edx, dword [ebp - 8]
call fcn.0040ac1c
fild dword [ebp - 0x18]
call fcn.00408238
mov dword [ebp - 0x14], eax
fild dword [0x241f8f0]
call fcn.0040822c
mov dword [0x241f960], eax
mov eax, dword [0x241f948]
mov dword [0x241f9b8], eax
mov eax, dword [0x241f988]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f868], eax
jmp 0x502727
mov eax, dword [0x241f900]
sub eax, dword [0x241f888]
mov dword [0x241f988], eax
mov eax, dword [0x241f8a8]
add eax, dword [0x241f960]
mov dword [0x241f870], eax
imul eax, dword [0x241f9f4], 0x3d
mov dword [0x241f940], eax
mov eax, dword [0x241f970]
add eax, 0x6c
mov dword [0x241fa2c], eax
mov eax, dword [0x241f920]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x502740
mov eax, dword [ebp - 0x5c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 7
jne 0x50277e
mov eax, dword [0x241f8a0]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f9c0], eax
mov eax, dword [0x241f980]
mov dword [0x241f858], eax
mov eax, dword [0x241fa34]
sub eax, dword [0x241f890]
mov dword [0x241f8d8], eax
imul eax, dword [0x241f868], 0x25
mov dword [0x241fa04], eax
mov ecx, 1
mov edx, dword [ebp - 0x10]
mov eax, 0x23f26f0
call fcn.0040b9e8
cmp eax, 0xb5
je 0x5027b2
mov eax, dword [0x241f888]
add eax, 0x51
mov dword [0x241f968], eax
jmp 0x5027cf
mov eax, dword [0x241f868]
add eax, 0x7e
mov dword [0x241f890], eax
mov eax, dword [0x241f9fc]
sub eax, dword [0x241f8f8]
mov dword [0x241f958], eax
mov eax, dword [0x241f890]
mov dword [0x241fa04], eax
mov eax, dword [0x241fa04]
cmp eax, dword [0x241f9b8]
jge 0x5027f5
mov eax, dword [0x241f900]
add eax, 0xb
mov dword [0x241f8f0], eax
jmp 0x502835
mov eax, 0xa8
sub eax, dword [0x241f8f0]
cmp eax, 0xcd
jge 0x502825
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.0040b7a0
jne 0x502835
mov eax, dword [0x241f880]
add eax, 0xcc
mov dword [0x241f948], eax
jmp 0x502835
mov eax, 0x5c
sub eax, dword [0x241f898]
mov dword [0x241f908], eax
mov eax, dword [0x241f880]
mov dword [0x241fa4c], eax
call fcn.004f83b4
lea eax, [ebp - 8]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040b7d8
mov eax, dword [0x241f930]
mov dword [0x241f8b0], eax
mov eax, dword [0x241fa3c]
mov dword [0x241f8d8], eax
mov eax, dword [0x241f8d8]
cmp eax, dword [0x241f8b0]
jle 0x502892
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
imul eax, dword [0x241f948], 0xa6
mov dword [0x241f888], eax
jmp 0x5028a2
mov eax, dword [0x241f888]
shl eax, 5
lea eax, [eax + eax*4]
mov dword [0x241f9d4], eax
lea eax, [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.0040ac1c
fild dword [0x241f860]
call fcn.00408238
mov dword [0x241f948], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x502c18
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
mov edx, eax
shl eax, 4
add eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [0x241fa2c]
sub eax, dword [0x241f948]
mov dword [0x241fa34], eax
mov eax, dword [0x241f860]
add eax, 0x48
mov dword [0x241f8c8], eax
fild dword [0x241fa4c]
call fcn.00408238
mov dword [0x241f988], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x241f8f0]
mov eax, dword [0x241f928]
call fcn.004f81f4
mov dword [0x241fa3c], eax
mov eax, dword [0x241fa34]
mov edx, eax
shl eax, 6
sub eax, edx
mov dword [0x241f8b0], eax
push 0
push 1
mov eax, dword [ebp - 0x28]
push eax
call dword [ebp - 0x34]
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
jne 0x502b68
mov eax, dword [0x241f9cc]
add eax, dword [0x241f8c0]
cmp eax, dword [0x241f8c0]
jle 0x502a1a
mov ecx, 1
mov edx, dword [0x241fa1c]
mov eax, 0x23f2718
call fcn.0040b9e8
cmp eax, 0x8b
jge 0x50299d
mov eax, dword [0x241f8e0]
add eax, 0xc0
mov dword [0x241f958], eax
mov eax, dword [0x241fa04]
cmp eax, dword [0x241f978]
jle 0x5029b7
lea eax, [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.0040ac1c
jmp 0x5029d7
mov eax, dword [0x241f860]
add eax, 0x81
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241f9b8], eax
mov eax, dword [0x241fa44]
mov dword [0x241f870], eax
mov eax, dword [0x241f930]
mov dword [0x241f898], eax
mov eax, dword [0x241f870]
cmp eax, dword [0x241f898]
jle 0x502a08
mov eax, dword [0x241f900]
imul dword [0x241f9b0]
mov dword [0x241f9c0], eax
mov eax, dword [0x241f940]
add eax, dword [0x241f940]
mov dword [0x241f8c8], eax
jmp 0x502a50
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jle 0x502a3b
lea eax, [ebp - 8]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040b7d8
mov edx, dword [0x241f860]
mov eax, dword [0x241fa24]
call fcn.004fc04c
mov dword [0x241f8d8], eax
call fcn.004fc27c
mov eax, dword [0x241f9e4]
add eax, dword [0x241fa44]
mov dword [0x241f868], eax
mov eax, dword [0x241f968]
sub eax, 0x5a
mov dword [0x241f930], eax
mov eax, dword [0x241f958]
sub eax, dword [0x241f940]
mov dword [0x241f9fc], eax
lea eax, [ebp - 0x14]
push eax
push 0x241f8d8
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x1c]
call fcn.0050067c
mov dword [0x241fa24], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
mov eax, dword [0x241f880]
mov dword [0x241f8f0], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 9
jge 0x502bc0
inc dword [ebp - 0x18]
mov eax, dword [0x241f9c0]
mov dword [0x241f9e4], eax
mov eax, dword [0x241f9e4]
cmp eax, dword [0x241f8f0]
jge 0x502b9c
call fcn.004ec0f0
mov eax, dword [0x241f9dc]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f9c0], eax
cmp dword [ebp - 0x18], 9
jl 0x502b7d
mov eax, dword [0x241fa2c]
mov dword [0x241f870], eax
mov eax, dword [0x241f8a8]
sub eax, 0x98
mov dword [0x241f8f0], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x241f8d8
lea ecx, [ebp - 0x1c]
mov edx, 0x241f8f8
mov eax, 0x241f8e8
call fcn.004f8a44
mov dword [0x241f8d8], eax
fild dword [0x241f980]
call fcn.00408238
mov dword [0x241f860], eax
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0x14], 1
mov ecx, dword [0x241f908]
mov edx, dword [ebp - 0x14]
mov eax, dword [0x241fa4c]
call fcn.004f8834
mov dword [0x241f930], eax
mov eax, dword [ebp - 0x1c]
imul dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
imul eax, dword [0x241f878], 0x4c
mov dword [0x241f9e4], eax
mov eax, dword [0x241f8b0]
imul dword [0x241f930]
mov dword [0x241f890], eax
mov eax, dword [0x241f958]
mov dword [0x241f8c0], eax
mov eax, dword [0x241f860]
mov dword [0x241f8e8], eax
mov eax, dword [0x241f8c0]
cmp eax, dword [0x241f8e8]
jle 0x502c82
mov eax, dword [0x241f858]
mov dword [0x241f958], eax
jmp 0x502cae
mov eax, dword [0x241f9e4]
cmp eax, dword [0x241f980]
jle 0x502c9e
lea eax, [ebp - 8]
mov edx, 0x23f2750
call fcn.0040ac1c
jmp 0x502cae
mov eax, dword [0x241f8f0]
sub eax, dword [0x241f8b0]
mov dword [0x241f9d4], eax
mov eax, dword [0x241f8c8]
add eax, 4
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.00408238
mov dword [0x241f948], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov eax, dword [0x241fa3c]
add eax, 0x21
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
call fcn.0040822c
mov dword [0x241fa14], eax
mov eax, dword [0x241f8c8]
mov dword [0x241fa4c], eax
fild dword [0x241f9c0]
call fcn.00408238
mov dword [0x241f8c8], eax
mov eax, dword [0x241fa04]
mov dword [0x241f980], eax
mov eax, 0x20
sub eax, dword [0x241f9a8]
cmp eax, 0x7c
jge 0x502d36
fild dword [0x241fa44]
call fcn.0040822c
mov dword [0x241f898], eax
jmp 0x502d46
fild dword [0x241f900]
call fcn.00408238
mov dword [0x241f980], eax
mov eax, dword [0x241f868]
mov dword [0x241fa14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x502f0f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x23f2331
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.0040a854
ret