Function at 0x409668
Capabilities:
Parse pe header

Disassembly:
push rbp
sub rsp, 0x420
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x3b0], ecx
mov ecx, dword [rbp + 0x3b0]
call sym.r3
add dword [rbp + 0x3b0], eax
cmp dword [rbp + 0x3b0], 0xffffffbe
jge 0x4096b7
mov r9d, 4
mov r8d, 0x1000
mov edx, 0x9b
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov eax, dword [rbp + 0x3b0]
add eax, 0x2c
mov dword [rbp + 0x2c8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9a
mov dword [rbp + 0x2c4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4c
mov dword [rbp + 0x2c0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9c
mov dword [rbp + 0x39c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x30
mov dword [rbp + 0x2bc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xab
mov dword [rbp + 0x398], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xac
mov dword [rbp + 0x2b8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x23
mov dword [rbp + 0x2b4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x68
mov dword [rbp + 0x2b0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x12
mov dword [rbp + 0x394], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x10
mov dword [rbp + 0x2ac], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbf
mov dword [rbp + 0x2a8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xac
mov dword [rbp + 0x2a4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x34
mov dword [rbp + 0x2a0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbe
mov dword [rbp + 0x29c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x2e
mov dword [rbp + 0x390], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x45
mov dword [rbp + 0x298], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x67
mov dword [rbp + 0x294], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x67
mov dword [rbp + 0x290], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9d
mov dword [rbp + 0x28c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x69
mov dword [rbp + 0x288], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9b
mov dword [rbp + 0x38c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 1
mov dword [rbp + 0x284], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb9
mov dword [rbp + 0x280], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x6d
mov dword [rbp + 0x27c], eax
mov eax, dword [rbp + 0x3b0]
sub eax, 0xffffff80
mov dword [rbp + 0x278], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x36
mov dword [rbp + 0x274], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x3e
mov dword [rbp + 0x270], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc3
mov dword [rbp + 0x26c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x81
mov dword [rbp + 0x268], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x75
mov dword [rbp + 0x388], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc6
mov dword [rbp + 0x264], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xad
mov dword [rbp + 0x384], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x38
mov dword [rbp + 0x260], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x60
mov dword [rbp + 0x25c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x74
mov dword [rbp + 0x258], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb0
mov dword [rbp + 0x254], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb9
mov dword [rbp + 0x380], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb6
mov dword [rbp + 0x250], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x51
mov dword [rbp + 0x24c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x64
mov dword [rbp + 0x37c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x93
mov dword [rbp + 0x248], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x29
mov dword [rbp + 0x244], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9f
mov dword [rbp + 0x378], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9b
mov dword [rbp + 0x240], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb4
mov dword [rbp + 0x23c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc2
mov dword [rbp + 0x238], eax
mov eax, dword [rbp + 0x3b0]
add eax, 5
mov dword [rbp + 0x234], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x18
mov dword [rbp + 0x230], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x34
mov dword [rbp + 0x22c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x2c
mov dword [rbp + 0x228], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb2
mov dword [rbp + 0x224], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc2
mov dword [rbp + 0x374], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa6
mov dword [rbp + 0x220], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xe
mov dword [rbp + 0x21c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xd
mov dword [rbp + 0x218], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x19
mov dword [rbp + 0x370], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5a
mov dword [rbp + 0x214], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa5
mov dword [rbp + 0x210], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9c
mov dword [rbp + 0x36c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc1
mov dword [rbp + 0x20c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x76
mov dword [rbp + 0x208], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x8a
mov dword [rbp + 0x204], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4b
mov dword [rbp + 0x200], eax
mov eax, dword [rbp + 0x3b0]
add eax, 5
mov dword [rbp + 0x1fc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x87
mov dword [rbp + 0x1f8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x37
mov dword [rbp + 0x1f4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x78
mov dword [rbp + 0x1f0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x15
mov dword [rbp + 0x368], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x12
mov dword [rbp + 0x1ec], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x20
mov dword [rbp + 0x1e8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 5
mov dword [rbp + 0x1e4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa2
mov dword [rbp + 0x1e0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x8f
mov dword [rbp + 0x364], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x70
mov dword [rbp + 0x1dc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x6d
mov dword [rbp + 0x1d8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x21
mov dword [rbp + 0x1d4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 1
mov dword [rbp + 0x360], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa9
mov dword [rbp + 0x1d0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xab
mov dword [rbp + 0x1cc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x77
mov dword [rbp + 0x1c8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4f
mov dword [rbp + 0x1c4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x70
mov dword [rbp + 0x1c0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x77
mov dword [rbp + 0x1bc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5c
mov dword [rbp + 0x1b8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa7
mov dword [rbp + 0x1b4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb8
mov dword [rbp + 0x1b0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb2
mov dword [rbp + 0x1ac], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x63
mov dword [rbp + 0x1a8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5b
mov dword [rbp + 0x1a4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 6
mov dword [rbp + 0x1a0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x7c
mov dword [rbp + 0x35c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa9
mov dword [rbp + 0x19c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbc
mov dword [rbp + 0x198], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa5
mov dword [rbp + 0x194], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc4
mov dword [rbp + 0x190], eax
mov eax, dword [rbp + 0x3b0]
add eax, 4
mov dword [rbp + 0x18c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9f
mov dword [rbp + 0x188], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xab
mov dword [rbp + 0x184], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x50
mov dword [rbp + 0x358], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa6
mov dword [rbp + 0x180], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xad
mov dword [rbp + 0x17c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4b
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xad
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xba
mov dword [rbp + 0x170], eax
mov eax, dword [rbp + 0x3b0]
add eax, 7
mov dword [rbp + 0x354], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5d
mov dword [rbp + 0x350], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x29
mov dword [rbp + 0x16c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x46
mov dword [rbp + 0x168], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4a
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x63
mov dword [rbp + 0x160], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbf
mov dword [rbp + 0x34c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x71
mov dword [rbp + 0x15c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x87
mov dword [rbp + 0x158], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x95
mov dword [rbp + 0x154], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x7c
mov dword [rbp + 0x348], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x67
mov dword [rbp + 0x150], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc6
mov dword [rbp + 0x14c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb7
mov dword [rbp + 0x148], eax
mov eax, dword [rbp + 0x3b0]
sub eax, 0xffffff80
mov dword [rbp + 0x144], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x8a
mov dword [rbp + 0x140], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5c
mov dword [rbp + 0x13c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x31
mov dword [rbp + 0x344], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xae
mov dword [rbp + 0x340], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc4
mov dword [rbp + 0x33c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x52
mov dword [rbp + 0x138], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb7
mov dword [rbp + 0x338], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x47
mov dword [rbp + 0x334], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5b
mov dword [rbp + 0x134], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa1
mov dword [rbp + 0x130], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xab
mov dword [rbp + 0x12c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x1b
mov dword [rbp + 0x128], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xac
mov dword [rbp + 0x124], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa2
mov dword [rbp + 0x120], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x20
mov dword [rbp + 0x11c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xba
mov dword [rbp + 0x118], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x1b
mov dword [rbp + 0x330], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc3
mov dword [rbp + 0x114], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x40
mov dword [rbp + 0x110], eax
mov eax, dword [rbp + 0x3b0]
add eax, 3
mov dword [rbp + 0x32c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 9
mov dword [rbp + 0x328], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc7
mov dword [rbp + 0x10c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x60
mov dword [rbp + 0x108], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb3
mov dword [rbp + 0x324], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x37
mov dword [rbp + 0x104], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x84
mov dword [rbp + 0x100], eax
mov eax, dword [rbp + 0x3b0]
add eax, 9
mov dword [rbp + 0xfc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x30
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x6a
mov dword [rbp + 0xf4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb3
mov dword [rbp + 0x320], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb3
mov dword [rbp + 0xf0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb6
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4f
mov dword [rbp + 0x31c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x74
mov dword [rbp + 0x318], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x96
mov dword [rbp + 0xe8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x22
mov dword [rbp + 0xe4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x11
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x61
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x29
mov dword [rbp + 0xd8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x55
mov dword [rbp + 0xd4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x29
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x83
mov dword [rbp + 0x314], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x46
mov dword [rbp + 0xcc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x13
mov dword [rbp + 0xc8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 6
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb2
mov dword [rbp + 0xc0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x55
mov dword [rbp + 0x310], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x94
mov dword [rbp + 0xbc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa5
mov dword [rbp + 0xb8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x81
mov dword [rbp + 0xb4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x59
mov dword [rbp + 0xb0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x63
mov dword [rbp + 0x30c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc2
mov dword [rbp + 0xac], eax
mov eax, dword [rbp + 0x3b0]
sub eax, 0xffffff80
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 8
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x75
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb8
mov dword [rbp + 0x308], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4f
mov dword [rbp + 0x304], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc6
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x8c
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbd
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x3b0]
add eax, 7
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xac
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x1d
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x73
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x2d
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb7
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb9
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc7
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x52
mov dword [rbp + 0x300], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbe
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbf
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x60
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x1e
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xbe
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x8d
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x9c
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x14
mov dword [rbp + 0x50], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x43
mov dword [rbp + 0x4c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xaa
mov dword [rbp + 0x2fc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x5b
mov dword [rbp + 0x2f8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x70
mov dword [rbp + 0x48], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x98
mov dword [rbp + 0x2f4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x13
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x56
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x73
mov dword [rbp + 0x2f0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x3f
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc5
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x3b0]
add eax, 7
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x23
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x21
mov dword [rbp + 0x2c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x51
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x59
mov dword [rbp + 0x2ec], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa2
mov dword [rbp + 0x2e8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc6
mov dword [rbp + 0x2e4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x72
mov dword [rbp + 0x24], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xaa
mov dword [rbp + 0x20], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x16
mov dword [rbp + 0x1c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x57
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x7c
mov dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x3b0]
add eax, 6
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb9
mov dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x49
mov dword [rbp + 8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x85
mov dword [rbp + 4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa5
mov dword [rbp], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xa2
mov dword [rbp + 0x2e0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x65
mov dword [rbp - 4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc0
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xb0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x14
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x77
mov dword [rbp - 0x14], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x87
mov dword [rbp - 0x18], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc0
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x3d
mov dword [rbp + 0x2dc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x8b
mov dword [rbp - 0x20], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x49
mov dword [rbp - 0x24], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x90
mov dword [rbp - 0x28], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x81
mov dword [rbp - 0x2c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x67
mov dword [rbp - 0x30], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xd
mov dword [rbp - 0x34], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x94
mov dword [rbp + 0x2d8], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x78
mov dword [rbp - 0x38], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x4d
mov dword [rbp + 0x2d4], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x96
mov dword [rbp - 0x3c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x72
mov dword [rbp - 0x40], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x95
mov dword [rbp - 0x44], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x2f
mov dword [rbp - 0x48], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x1f
mov dword [rbp + 0x2d0], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x77
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x51
mov dword [rbp - 0x50], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0xc8
mov dword [rbp + 0x2cc], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x21
mov dword [rbp - 0x54], eax
mov eax, dword [rbp + 0x3b0]
add eax, 0x2d
mov dword [rbp - 0x58], eax
mov eax, dword [rbp - 0x4c]
cmp eax, dword [rbp + 0x64]
jg 0x40a5ed
mov edx, dword [rbp + 0x190]
mov eax, dword [rbp + 0x2fc]
add eax, edx
mov dword [rbp + 0x308], eax
mov eax, dword [rbp + 0x2f4]
cmp eax, dword [rbp + 0x74]
jl 0x40a60c
mov edx, dword [rbp + 0x374]
mov eax, dword [rbp + 0x1d0]
add eax, edx
mov dword [rbp + 0x318], eax
mov eax, dword [rbp + 0x1bc]
cmp eax, dword [rbp + 0x288]
jg 0x40a62b
mov edx, dword [rbp + 0x324]
mov eax, dword [rbp + 0x18]
add eax, edx
mov dword [rbp + 0x378], eax
mov eax, dword [rbp + 0x68]
cmp eax, dword [rbp + 0x1c]
jl 0x40a644
mov edx, dword [rbp - 0x44]
mov eax, dword [rbp + 0x284]
add eax, edx
mov dword [rbp + 0x2cc], eax
mov eax, dword [rbp + 0xc4]
cmp eax, dword [rbp + 0xc]
jg 0x40a660
mov edx, dword [rbp - 0x24]
mov eax, dword [rbp + 0x124]
add eax, edx
mov dword [rbp + 0x2ec], eax
mov eax, dword [rbp + 0x2ac]
imul eax, dword [rbp + 0x84]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp + 0x54]
cmp eax, dword [rbp + 0x214]
jg 0x40a68f
mov edx, dword [rbp + 0xe0]
mov eax, dword [rbp + 0x1cc]
add eax, edx
mov dword [rbp + 0x320], eax
mov edx, dword [rbp + 0x2bc]
mov eax, dword [rbp + 0x118]
add eax, edx
mov dword [rbp + 0x138], eax
mov eax, dword [rbp + 0xe8]
imul eax, dword [rbp + 0x2ec]
mov dword [rbp + 0x200], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp - 4]
mov dword [rbp + 0x280], eax
mov eax, dword [rbp + 0xdc]
imul eax, dword [rbp + 0xd4]
mov dword [rbp - 0x30], eax
mov eax, dword [rbp + 0x1d0]
imul eax, dword [rbp + 0x100]
mov dword [rbp + 0x280], eax
mov eax, dword [rbp + 0x1c4]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0x26c], eax
mov eax, dword [rbp - 0x14]
imul eax, dword [rbp + 0xc0]
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x204]
cmp eax, dword [rbp + 0x170]
jl 0x40a723
mov eax, dword [rbp + 0x260]
add dword [rbp + 0x360], eax
mov eax, dword [rbp + 0x39c]
cmp eax, dword [rbp + 0x298]
jg 0x40a745
mov edx, dword [rbp + 0x300]
mov eax, dword [rbp + 0xd8]
add eax, edx
mov dword [rbp + 0x33c], eax
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp + 0x84]
jg 0x40a761
mov edx, dword [rbp - 0x24]
mov eax, dword [rbp + 0x368]
add eax, edx
mov dword [rbp + 0x344], eax
mov eax, dword [rbp + 0x148]
imul eax, dword [rbp + 0x20c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0x11c]
mov dword [rbp + 0x1dc], eax
mov eax, dword [rbp + 0x2bc]
cmp eax, dword [rbp + 0x23c]
jg 0x40a7a9
mov edx, dword [rbp + 0x1e0]
mov eax, dword [rbp + 0x204]
add eax, edx
mov dword [rbp + 0x2e0], eax
mov eax, dword [rbp + 0x158]
imul eax, dword [rbp + 0x2ec]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x1e8]
imul eax, dword [rbp - 0xc]
mov dword [rbp + 0x26c], eax
mov eax, dword [rbp + 0x120]
cmp eax, dword [rbp + 0x290]
jg 0x40a7e8
mov edx, dword [rbp + 0x3c]
mov eax, dword [rbp + 0x2c0]
add eax, edx
mov dword [rbp + 0x350], eax
mov eax, dword [rbp + 0x15c]
imul eax, dword [rbp + 0x124]
mov dword [rbp + 0x260], eax
mov eax, dword [rbp + 0x1b4]
cmp eax, dword [rbp + 0x190]
jl 0x40a81d
mov edx, dword [rbp + 0x214]
mov eax, dword [rbp + 0x368]
add eax, edx
mov dword [rbp + 0x2e0], eax
mov eax, dword [rbp - 4]
imul eax, dword [rbp + 0x140]
mov dword [rbp - 4], eax
mov eax, dword [rbp - 0x28]
imul eax, dword [rbp + 0x158]
mov dword [rbp + 0x398], eax
mov eax, dword [rbp + 0x298]
cmp eax, dword [rbp + 0x274]
jg 0x40a85c
mov edx, dword [rbp + 0x108]
mov eax, dword [rbp + 0x98]
add eax, edx
mov dword [rbp + 0x39c], eax
mov eax, dword [rbp + 0x30c]
cmp eax, dword [rbp + 0x1e8]
jl 0x40a87e
mov edx, dword [rbp + 0xf8]
mov eax, dword [rbp + 0x17c]
add eax, edx
mov dword [rbp + 0x274], eax
mov eax, dword [rbp - 0x14]
imul eax, dword [rbp + 0x284]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0x38]
cmp eax, dword [rbp - 0x50]
jl 0x40a8aa
mov edx, dword [rbp + 0x354]
mov eax, dword [rbp + 0x2ac]
add eax, edx
mov dword [rbp + 0x2e8], eax
mov eax, dword [rbp - 0x30]
imul eax, dword [rbp + 0xf4]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x188]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x104]
cmp eax, dword [rbp + 0x4c]
jl 0x40a8e0
mov edx, dword [rbp + 0x10]
mov eax, dword [rbp + 0x60]
add eax, edx
mov dword [rbp + 0x224], eax
mov eax, dword [rbp + 0x234]
cmp eax, dword [rbp + 0x80]
jg 0x40a8ff
mov edx, dword [rbp - 0x2c]
mov eax, dword [rbp + 0x23c]
add eax, edx
mov dword [rbp + 0x328], eax
mov eax, dword [rbp + 0x298]
imul eax, dword [rbp + 0x1b8]
mov dword [rbp + 0x188], eax
mov eax, dword [rbp + 0x30]
cmp eax, dword [rbp + 0x90]
jg 0x40a92b
mov edx, dword [rbp + 0x54]
mov eax, dword [rbp + 0x70]
add eax, edx
mov dword [rbp + 0x33c], eax
mov eax, dword [rbp + 0x314]
cmp eax, dword [rbp + 0x254]
jg 0x40a94a
mov edx, dword [rbp + 4]
mov eax, dword [rbp + 0x268]
add eax, edx
mov dword [rbp + 0x390], eax
mov eax, dword [rbp + 0x240]
imul eax, dword [rbp + 0x54]
mov dword [rbp + 0x294], eax
mov eax, dword [rbp + 0xcc]
imul eax, dword [rbp + 0x4c]
mov dword [rbp + 0x2fc], eax
mov eax, dword [rbp - 0x4c]
imul eax, dword [rbp + 0xc4]
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0x15c]
imul eax, dword [rbp + 0x358]
mov dword [rbp + 0xf8], eax
mov eax, dword [rbp - 0x10]
imul eax, dword [rbp + 0x70]
mov dword [rbp + 0xcc], eax
mov eax, dword [rbp + 0x240]
cmp eax, dword [rbp + 0x48]
jl 0x40a9b6
mov edx, dword [rbp - 0x18]
mov eax, dword [rbp + 0x2b0]
add eax, edx
mov dword [rbp + 0x2d0], eax
mov eax, dword [rbp + 0x210]
imul eax, dword [rbp + 0x140]
mov dword [rbp + 0x2b4], eax
mov eax, dword [rbp + 0xf0]
imul eax, dword [rbp + 0x338]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x1e4]
imul eax, dword [rbp + 0x10c]
mov dword [rbp + 0x394], eax
mov eax, dword [rbp + 0x324]
imul eax, dword [rbp + 0x12c]
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xa4]
cmp eax, dword [rbp + 0x2d8]
jg 0x40aa24
mov edx, dword [rbp + 0x25c]
mov eax, dword [rbp + 0x340]
add eax, edx
mov dword [rbp + 0x31c], eax
mov eax, dword [rbp + 0x2a4]
cmp eax, dword [rbp + 0x30]
jg 0x40aa43
mov edx, dword [rbp + 0x194]
mov eax, dword [rbp + 0x80]
add eax, edx
mov dword [rbp + 0x35c], eax
mov eax, dword [rbp + 0x19c]
imul eax, dword [rbp + 0x1f4]
mov dword [rbp - 0x34], eax
mov eax, dword [rbp + 0x390]
imul eax, dword [rbp + 0x50]
mov dword [rbp + 0x334], eax
mov eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x6c]
jl 0x40aa7f
mov edx, dword [rbp + 0xa0]
mov eax, dword [rbp - 0x4c]
add eax, edx
mov dword [rbp + 0x380], eax
mov eax, dword [rbp + 0x260]
cmp eax, dword [rbp + 0xe4]
jg 0x40aaa1
mov edx, dword [rbp + 0x1a0]
mov eax, dword [rbp + 0xdc]
add eax, edx
mov dword [rbp + 0x370], eax
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x21c]
jl 0x40aac0
mov edx, dword [rbp + 0x2c8]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov dword [rbp + 0x36c], eax
mov eax, dword [rbp + 0x140]
imul eax, dword [rbp + 0x32c]
mov dword [rbp + 0x124], eax
mov eax, dword [rbp + 0x190]
cmp eax, dword [rbp + 0x1d4]
jg 0x40aaf5
mov edx, dword [rbp + 0x2b8]
mov eax, dword [rbp + 0x2ac]
add eax, edx
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x34c]
imul eax, dword [rbp + 0x128]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x1c8]
imul eax, dword [rbp + 0x220]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x1e4]
imul eax, dword [rbp + 0x110]
mov dword [rbp + 0x2b4], eax
mov eax, dword [rbp + 0x124]
imul eax, dword [rbp + 0x2b8]
mov dword [rbp + 0x234], eax
mov eax, dword [rbp + 0x1ac]
imul eax, dword [rbp - 0x24]
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x158]
cmp eax, dword [rbp + 0x21c]
jl 0x40ab70
mov edx, dword [rbp + 0x184]
mov eax, dword [rbp + 0x310]
add eax, edx
mov dword [rbp + 0x2c8], eax
mov eax, dword [rbp + 0xb8]
imul eax, dword [rbp + 0x68]
mov dword [rbp + 0x1d8], eax
mov eax, dword [rbp + 0x14c]
imul eax, dword [rbp + 0x2e8]
mov dword [rbp + 0x118], eax
mov eax, dword [rbp + 0x134]
cmp eax, dword [rbp + 0x2ec]
jl 0x40abb2
mov edx, dword [rbp + 0x340]
mov eax, dword [rbp + 0x10]
add eax, edx
mov dword [rbp + 0x354], eax
mov eax, dword [rbp + 0x2a0]
imul eax, dword [rbp + 0xcc]
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x188]
cmp eax, dword [rbp + 0x164]
jg 0x40abe1
mov edx, dword [rbp - 0x10]
mov eax, dword [rbp + 0x240]
add eax, edx
mov dword [rbp + 0x34c], eax
mov eax, dword [rbp + 0x354]
cmp eax, dword [rbp + 0x248]
jl 0x40ac03
mov edx, dword [rbp + 0x1f0]
mov eax, dword [rbp + 0x2d0]
add eax, edx
mov dword [rbp + 0x370], eax
mov eax, dword [rbp - 0x14]
cmp eax, dword [rbp + 0x158]
jg 0x40ac1f
mov edx, dword [rbp - 0x4c]
mov eax, dword [rbp + 0x300]
add eax, edx
mov dword [rbp + 0x338], eax
mov eax, dword [rbp + 0x158]
cmp eax, dword [rbp - 0x28]
jl 0x40ac3b
mov edx, dword [rbp + 0x118]
mov eax, dword [rbp - 0xc]
add eax, edx
mov dword [rbp + 0x358], eax
mov eax, dword [rbp - 0x34]
imul eax, dword [rbp + 0x148]
mov dword [rbp + 0x224], eax
mov eax, dword [rbp - 0x1c]
imul eax, dword [rbp + 0x100]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 0x58]
cmp eax, dword [rbp + 0x39c]
jg 0x40ac77
mov edx, dword [rbp + 0x1f4]
mov eax, dword [rbp + 0x324]
add eax, edx
mov dword [rbp + 0x328], eax
mov eax, dword [rbp + 0x90]
cmp eax, dword [rbp - 0x2c]
jg 0x40ac93
mov edx, dword [rbp - 0x3c]
mov eax, dword [rbp + 0x2c4]
add eax, edx
mov dword [rbp + 0x2f8], eax
mov eax, dword [rbp + 0x194]
imul eax, dword [rbp + 0x50]
mov dword [rbp + 0x12c], eax
mov eax, dword [rbp + 0x39c]
cmp eax, dword [rbp + 0x34]
jg 0x40acc2
mov edx, dword [rbp + 0x150]
mov eax, dword [rbp + 0x1c0]
add eax, edx
mov dword [rbp + 0x340], eax
mov eax, dword [rbp + 0xf0]
cmp eax, dword [rbp + 0x354]
jl 0x40ace1
mov edx, dword [rbp + 0x358]
mov eax, dword [rbp + 0x6c]
add eax, edx
mov dword [rbp + 0x384], eax
mov eax, dword [rbp + 0x1ac]
imul eax, dword [rbp + 0x204]
mov dword [rbp + 0x394], eax
mov eax, dword [rbp + 0xf4]
imul eax, dword [rbp + 0xc0]
mov dword [rbp + 0x10c], eax
mov eax, dword [rbp + 0x234]
cmp eax, dword [rbp + 0x2b0]
jg 0x40ad26
mov edx, dword [rbp + 0x194]
mov eax, dword [rbp + 0x44]
add eax, edx
mov dword [rbp + 0x314], eax
mov eax, dword [rbp + 0x9c]
cmp eax, dword [rbp + 0x248]
jl 0x40ad48
mov edx, dword [rbp + 0x258]
mov eax, dword [rbp + 0x308]
add eax, edx
mov dword [rbp + 0x32c], eax
mov eax, dword [rbp + 0x54]
imul eax, dword [rbp + 0x340]
mov dword [rbp + 0x2a8], eax
mov eax, dword [rbp + 0x32c]
cmp eax, dword [rbp - 0x48]
jg 0x40ad6e
mov eax, dword [rbp - 0x34]
add eax, eax
mov dword [rbp + 0x2f0], eax
mov eax, dword [rbp + 0x250]
cmp eax, dword [rbp + 0x380]
jl 0x40ad8d
mov edx, dword [rbp + 0x390]
mov eax, dword [rbp - 0x10]
add eax, edx
mov dword [rbp + 0x2d8], eax
mov eax, dword [rbp + 0x298]
cmp eax, dword [rbp + 0x2b0]
jl 0x40adaf
mov edx, dword [rbp + 0x184]
mov eax, dword [rbp + 0xe4]
add eax, edx
mov dword [rbp + 0x394], eax
mov eax, dword [rbp + 0x1cc]
cmp eax, dword [rbp + 0x344]
jl 0x40adce
mov edx, dword [rbp - 0x48]
mov eax, dword [rbp + 0x248]
add eax, edx
mov dword [rbp + 0x324], eax
mov eax, dword [rbp + 0x334]
cmp eax, dword [rbp + 0xf0]
jl 0x40adf0
mov edx, dword [rbp + 0x264]
mov eax, dword [rbp + 0x29c]
add eax, edx
mov dword [rbp + 0x310], eax
mov eax, dword [rbp + 0x144]
imul eax, dword [rbp + 0x2e4]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0xac]
imul eax, dword [rbp + 0x108]
mov dword [rbp + 0x290], eax
mov eax, dword [rbp + 0x138]
imul eax, dword [rbp + 0xe8]
mov dword [rbp + 0x120], eax
mov eax, dword [rbp + 0xec]
cmp eax, dword [rbp - 0x4c]
jg 0x40ae45
mov edx, dword [rbp + 0x230]
mov eax, dword [rbp + 0x27c]
add eax, edx
mov dword [rbp + 0x2fc], eax
mov eax, dword [rbp + 0x358]
cmp eax, dword [rbp + 0x2f4]
jl 0x40ae64
mov edx, dword [rbp + 0x14]
mov eax, dword [rbp + 0x38c]
add eax, edx
mov dword [rbp + 0x37c], eax
mov eax, dword [rbp + 0xd8]
cmp eax, dword [rbp + 0x354]
jg 0x40ae83
mov edx, dword [rbp + 0x6c]
mov eax, dword [rbp + 0x2f0]
add eax, edx
mov dword [rbp + 0x2e8], eax
mov eax, dword [rbp + 0x1c4]
imul eax, dword [rbp + 0x370]
mov dword [rbp + 0x24], eax
mov eax, dword [rbp + 0x144]
cmp eax, dword [rbp - 0x18]
jg 0x40aeb2
mov edx, dword [rbp + 0x290]
mov eax, dword [rbp + 0x114]
add eax, edx
mov dword [rbp + 0x304], eax
mov eax, dword [rbp + 0x294]
imul eax, dword [rbp + 0x194]
mov dword [rbp + 0x184], eax
mov eax, dword [rbp + 0x258]
cmp eax, dword [rbp + 0x228]
jg 0x40aee7
mov edx, dword [rbp + 0x194]
mov eax, dword [rbp + 0x308]
add eax, edx
mov dword [rbp + 0x2d4], eax
mov eax, dword [rbp + 0x164]
imul eax, dword [rbp + 4]
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0x12c]
imul eax, dword [rbp + 0x1ec]
mov dword [rbp + 0x2c4], eax
mov eax, dword [rbp + 0x148]
imul eax, dword [rbp + 0xc0]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x50]
cmp eax, dword [rbp + 0x29c]
jl 0x40af39
mov edx, dword [rbp + 0x1e4]
mov eax, dword [rbp + 0x324]
add eax, edx
mov dword [rbp + 0x368], eax
mov eax, dword [rbp + 0x1d4]
cmp eax, dword [rbp + 0x25c]
jg 0x40af55
mov eax, dword [rbp + 0x308]
add eax, eax
mov dword [rbp + 0x314], eax
mov eax, dword [rbp + 0xe0]
imul eax, dword [rbp + 0x254]
mov dword [rbp + 0x274], eax
mov eax, dword [rbp]
cmp eax, dword [rbp + 0x18c]
jl 0x40af87
mov edx, dword [rbp + 0x1a4]
mov eax, dword [rbp + 0x384]
add eax, edx
mov dword [rbp + 0x2e8], eax
mov eax, dword [rbp + 0x340]
cmp eax, dword [rbp + 0x290]
jg 0x40afa9
mov edx, dword [rbp + 0x2ac]
mov eax, dword [rbp + 0x34c]
add eax, edx
mov dword [rbp + 0x30c], eax
mov eax, dword [rbp + 0x1fc]
imul eax, dword [rbp + 0x154]
mov dword [rbp + 0x2c8], eax
mov eax, dword [rbp + 0xd4]
cmp eax, dword [rbp + 0x1b8]
jl 0x40afde
mov edx, dword [rbp + 0xc8]
mov eax, dword [rbp + 0x224]
add eax, edx
mov dword [rbp + 0x2dc], eax
mov eax, dword [rbp + 0x54]
cmp eax, dword [rbp + 0x330]
jg 0x40affa
mov edx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x29c]
add eax, edx
mov dword [rbp + 0x2f8], eax
mov eax, dword [rbp + 0x44]
imul eax, dword [rbp + 0x398]
mov dword [rbp - 0x54], eax
mov eax, dword [rbp + 0x12c]
imul eax, dword [rbp + 0x2b4]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x378]
jl 0x40b03c
mov edx, dword [rbp + 0xa0]
mov eax, dword [rbp + 0x388]
add eax, edx
mov dword [rbp + 0x2f4], eax
mov eax, dword [rbp + 0x17c]
cmp eax, dword [rbp + 0x78]
jg 0x40b058
mov edx, dword [rbp + 0x10]
mov eax, dword [rbp + 0x368]
add eax, edx
mov dword [rbp + 0x364], eax
mov eax, dword [rbp - 0x18]
imul eax, dword [rbp + 0xb0]
mov dword [rbp + 0xbc], eax
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0x1a8]
mov dword [rbp + 0x18c], eax
mov eax, dword [rbp + 0x378]
imul eax, dword [rbp + 0x124]
mov dword [rbp + 0x274], eax
mov eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0x14]
jg 0x40b0a7
mov edx, dword [rbp + 0x2e0]
mov eax, dword [rbp + 0x14]
add eax, edx
mov dword [rbp + 0x398], eax
mov eax, dword [rbp + 0x284]
imul eax, dword [rbp + 0x2d4]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x21c]
imul eax, dword [rbp + 0x33c]
mov dword [rbp + 0x178], eax
mov eax, dword [rbp - 0x2c]
imul eax, dword [rbp + 0x34c]
mov dword [rbp + 0x290], eax
mov eax, dword [rbp + 0x344]
cmp eax, dword [rbp + 0x35c]
jg 0x40b0f6
mov eax, dword [rbp + 0x274]
add eax, eax
mov dword [rbp + 0x388], eax
mov eax, dword [rbp - 0x4c]
cmp eax, dword [rbp + 0x35c]
jl 0x40b115
mov edx, dword [rbp + 0x398]
mov eax, dword [rbp + 0x2f4]
add eax, edx
mov dword [rbp + 0x334], eax
mov eax, dword [rbp + 0x68]
cmp eax, dword [rbp + 0x60]
jg 0x40b131
mov edx, dword [rbp + 0x158]
mov eax, dword [rbp + 0x260]
add eax, edx
mov dword [rbp + 0x348], eax
mov eax, dword [rbp - 0x4c]
cmp eax, dword [rbp + 0x84]
jg 0x40b14a
mov edx, dword [rbp - 0x34]
mov eax, dword [rbp - 0x44]
add eax, edx
mov dword [rbp + 0x374], eax
mov eax, dword [rbp + 0x364]
imul eax, dword [rbp + 0xb8]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x1cc]
imul eax, dword [rbp + 0x14c]
mov dword [rbp + 0x1ac], eax
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0x6c]
jg 0x40b18f
mov edx, dword [rbp + 0xc8]
mov eax, dword [rbp + 0x1a8]
add eax, edx
mov dword [rbp + 0x308], eax
mov eax, dword [rbp + 0x180]
cmp eax, dword [rbp + 0x2a0]
jl 0x40b1b1
mov edx, dword [rbp + 0x34c]
mov eax, dword [rbp + 0x1a0]
add eax, edx
mov dword [rbp + 0x330], eax
mov eax, dword [rbp + 0x140]
cmp eax, dword [rbp + 0x48]
jl 0x40b1cd
mov edx, dword [rbp + 0x20]
mov eax, dword [rbp + 0xb0]
add eax, edx
mov dword [rbp + 0x38c], eax
mov eax, dword [rbp + 0x1bc]
imul eax, dword [rbp + 0x150]
mov dword [rbp + 0x118], eax
mov eax, dword [rbp + 0x1f4]
imul eax, dword [rbp - 8]
mov dword [rbp + 0x1ec], eax
mov eax, dword [rbp + 0x268]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x380], eax
mov eax, dword [rbp + 0x2d8]
imul eax, dword [rbp + 0x2cc]
mov dword [rbp + 0x1a4], eax
mov eax, dword [rbp + 0x300]
imul eax, dword [rbp + 0xfc]
mov dword [rbp + 0x1e4], eax
mov eax, dword [rbp - 0x30]
imul eax, dword [rbp + 0x324]
mov dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xf8]
imul eax, dword [rbp - 8]
mov dword [rbp + 0x20], eax
mov eax, dword [rbp + 0x280]
cmp eax, dword [rbp + 0x21c]
jg 0x40b265
mov edx, dword [rbp + 0x1c0]
mov eax, dword [rbp + 0x224]
add eax, edx
mov dword [rbp + 0x300], eax
mov eax, dword [rbp + 0x80]
cmp eax, dword [rbp + 0x18]
jl 0x40b284
mov edx, dword [rbp + 0x2f4]
mov eax, dword [rbp + 0x2c0]
add eax, edx
mov dword [rbp + 0x2e4], eax
mov eax, dword [rbp + 0xac]
imul eax, dword [rbp + 0x240]
mov dword [rbp + 0xc0], eax
mov eax, dword [rbp - 0x44]
cmp eax, dword [rbp + 0x2f0]
jl 0x40b2b3
mov edx, dword [rbp + 0x27c]
mov eax, dword [rbp - 0x14]
add eax, edx
mov dword [rbp + 0x39c], eax
mov eax, dword [rbp + 0x330]
imul eax, dword [rbp + 0x108]
mov dword [rbp + 0x2d0], eax
mov eax, dword [rbp + 0x14c]
cmp eax, dword [rbp + 0xec]
jl 0x40b2e8
mov edx, dword [rbp + 0xd8]
mov eax, dword [rbp + 0x1c0]
add eax, edx
mov dword [rbp + 0x320], eax
mov eax, dword [rbp + 0x1c4]
cmp eax, dword [rbp + 0x34]
jl 0x40b304
mov edx, dword [rbp - 0x38]
mov eax, dword [rbp + 0x2e0]
add eax, edx
mov dword [rbp + 0x368], eax
mov eax, dword [rbp + 0x188]
imul eax, dword [rbp + 0x31c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x1a8]
imul eax, dword [rbp + 0x2b4]
mov dword [rbp + 0x1e8], eax
mov edx, dword [rbp + 0x3b0]
mov eax, dword [rbp + 0x2c8]
add edx, eax
mov eax, dword [rbp + 0x2c4]
add edx, eax
mov eax, dword [rbp + 0x2c0]
add edx, eax
mov eax, dword [rbp + 0x39c]
add edx, eax
mov eax, dword [rbp + 0x2bc]
add edx, eax
mov eax, dword [rbp + 0x398]
add edx, eax
mov eax, dword [rbp + 0x2b8]
add edx, eax
mov eax, dword [rbp + 0x2b4]
add edx, eax
mov eax, dword [rbp + 0x2b0]
add edx, eax
mov eax, dword [rbp + 0x394]
add edx, eax
mov eax, dword [rbp + 0x2ac]
add edx, eax
mov eax, dword [rbp + 0x2a8]
add edx, eax
mov eax, dword [rbp + 0x2a4]
add edx, eax
mov eax, dword [rbp + 0x2a0]
add edx, eax
mov eax, dword [rbp + 0x29c]
add edx, eax
mov eax, dword [rbp + 0x390]
add edx, eax
mov eax, dword [rbp + 0x298]
add edx, eax
mov eax, dword [rbp + 0x294]
add edx, eax
mov eax, dword [rbp + 0x290]
add edx, eax
mov eax, dword [rbp + 0x28c]
add edx, eax
mov eax, dword [rbp + 0x288]
add edx, eax
mov eax, dword [rbp + 0x38c]
add edx, eax
mov eax, dword [rbp + 0x284]
add edx, eax
mov eax, dword [rbp + 0x280]
add edx, eax
mov eax, dword [rbp + 0x27c]
add edx, eax
mov eax, dword [rbp + 0x278]
add edx, eax
mov eax, dword [rbp + 0x274]
add edx, eax
mov eax, dword [rbp + 0x270]
add edx, eax
mov eax, dword [rbp + 0x26c]
add edx, eax
mov eax, dword [rbp + 0x268]
add edx, eax
mov eax, dword [rbp + 0x388]
add edx, eax
mov eax, dword [rbp + 0x264]
add edx, eax
mov eax, dword [rbp + 0x384]
add edx, eax
mov eax, dword [rbp + 0x260]
add edx, eax
mov eax, dword [rbp + 0x25c]
add edx, eax
mov eax, dword [rbp + 0x258]
add edx, eax
mov eax, dword [rbp + 0x254]
add edx, eax
mov eax, dword [rbp + 0x380]
add edx, eax
mov eax, dword [rbp + 0x250]
add edx, eax
mov eax, dword [rbp + 0x24c]
add edx, eax
mov eax, dword [rbp + 0x37c]
add edx, eax
mov eax, dword [rbp + 0x248]
add edx, eax
mov eax, dword [rbp + 0x244]
add edx, eax
mov eax, dword [rbp + 0x378]
add edx, eax
mov eax, dword [rbp + 0x240]
add edx, eax
mov eax, dword [rbp + 0x23c]
add edx, eax
mov eax, dword [rbp + 0x238]
add edx, eax
mov eax, dword [rbp + 0x234]
add edx, eax
mov eax, dword [rbp + 0x230]
add edx, eax
mov eax, dword [rbp + 0x22c]
add edx, eax
mov eax, dword [rbp + 0x228]
add edx, eax
mov eax, dword [rbp + 0x224]
add edx, eax
mov eax, dword [rbp + 0x374]
add edx, eax
mov eax, dword [rbp + 0x220]
add edx, eax
mov eax, dword [rbp + 0x21c]
add edx, eax
mov eax, dword [rbp + 0x218]
add edx, eax
mov eax, dword [rbp + 0x370]
add edx, eax
mov eax, dword [rbp + 0x214]
add edx, eax
mov eax, dword [rbp + 0x210]
add edx, eax
mov eax, dword [rbp + 0x36c]
add edx, eax
mov eax, dword [rbp + 0x20c]
add edx, eax
mov eax, dword [rbp + 0x208]
add edx, eax
mov eax, dword [rbp + 0x204]
add edx, eax
mov eax, dword [rbp + 0x200]
add edx, eax
mov eax, dword [rbp + 0x1fc]
add edx, eax
mov eax, dword [rbp + 0x1f8]
add edx, eax
mov eax, dword [rbp + 0x1f4]
add edx, eax
mov eax, dword [rbp + 0x1f0]
add edx, eax
mov eax, dword [rbp + 0x368]
add edx, eax
mov eax, dword [rbp + 0x1ec]
add edx, eax
mov eax, dword [rbp + 0x1e8]
add edx, eax
mov eax, dword [rbp + 0x1e4]
add edx, eax
mov eax, dword [rbp + 0x1e0]
add edx, eax
mov eax, dword [rbp + 0x364]
add edx, eax
mov eax, dword [rbp + 0x1dc]
add edx, eax
mov eax, dword [rbp + 0x1d8]
add edx, eax
mov eax, dword [rbp + 0x1d4]
add edx, eax
mov eax, dword [rbp + 0x360]
add edx, eax
mov eax, dword [rbp + 0x1d0]
add edx, eax
mov eax, dword [rbp + 0x1cc]
add edx, eax
mov eax, dword [rbp + 0x1c8]
add edx, eax
mov eax, dword [rbp + 0x1c4]
add edx, eax
mov eax, dword [rbp + 0x1c0]
add edx, eax
mov eax, dword [rbp + 0x1bc]
add edx, eax
mov eax, dword [rbp + 0x1b8]
add edx, eax
mov eax, dword [rbp + 0x1b4]
add edx, eax
mov eax, dword [rbp + 0x1b0]
add edx, eax
mov eax, dword [rbp + 0x1ac]
add edx, eax
mov eax, dword [rbp + 0x1a8]
add edx, eax
mov eax, dword [rbp + 0x1a4]
add edx, eax
mov eax, dword [rbp + 0x1a0]
add edx, eax
mov eax, dword [rbp + 0x35c]
add edx, eax
mov eax, dword [rbp + 0x19c]
add edx, eax
mov eax, dword [rbp + 0x198]
add edx, eax
mov eax, dword [rbp + 0x194]
add edx, eax
mov eax, dword [rbp + 0x190]
add edx, eax
mov eax, dword [rbp + 0x18c]
add edx, eax
mov eax, dword [rbp + 0x188]
add edx, eax
mov eax, dword [rbp + 0x184]
add edx, eax
mov eax, dword [rbp + 0x358]
add edx, eax
mov eax, dword [rbp + 0x180]
add edx, eax
mov eax, dword [rbp + 0x17c]
add edx, eax
mov eax, dword [rbp + 0x178]
add edx, eax
mov eax, dword [rbp + 0x174]
add edx, eax
mov eax, dword [rbp + 0x170]
add edx, eax
mov eax, dword [rbp + 0x354]
add edx, eax
mov eax, dword [rbp + 0x350]
add edx, eax
mov eax, dword [rbp + 0x16c]
add edx, eax
mov eax, dword [rbp + 0x168]
add edx, eax
mov eax, dword [rbp + 0x164]
add edx, eax
mov eax, dword [rbp + 0x160]
add edx, eax
mov eax, dword [rbp + 0x34c]
add edx, eax
mov eax, dword [rbp + 0x15c]
add edx, eax
mov eax, dword [rbp + 0x158]
add edx, eax
mov eax, dword [rbp + 0x154]
add edx, eax
mov eax, dword [rbp + 0x348]
add edx, eax
mov eax, dword [rbp + 0x150]
add edx, eax
mov eax, dword [rbp + 0x14c]
add edx, eax
mov eax, dword [rbp + 0x148]
add edx, eax
mov eax, dword [rbp + 0x144]
add edx, eax
mov eax, dword [rbp + 0x140]
add edx, eax
mov eax, dword [rbp + 0x13c]
add edx, eax
mov eax, dword [rbp + 0x344]
add edx, eax
mov eax, dword [rbp + 0x340]
add edx, eax
mov eax, dword [rbp + 0x33c]
add edx, eax
mov eax, dword [rbp + 0x138]
add edx, eax
mov eax, dword [rbp + 0x338]
add edx, eax
mov eax, dword [rbp + 0x334]
add edx, eax
mov eax, dword [rbp + 0x134]
add edx, eax
mov eax, dword [rbp + 0x130]
add edx, eax
mov eax, dword [rbp + 0x12c]
add edx, eax
mov eax, dword [rbp + 0x128]
add edx, eax
mov eax, dword [rbp + 0x124]
add edx, eax
mov eax, dword [rbp + 0x120]
add edx, eax
mov eax, dword [rbp + 0x11c]
add edx, eax
mov eax, dword [rbp + 0x118]
add edx, eax
mov eax, dword [rbp + 0x330]
add edx, eax
mov eax, dword [rbp + 0x114]
add edx, eax
mov eax, dword [rbp + 0x110]
add edx, eax
mov eax, dword [rbp + 0x32c]
add edx, eax
mov eax, dword [rbp + 0x328]
add edx, eax
mov eax, dword [rbp + 0x10c]
add edx, eax
mov eax, dword [rbp + 0x108]
add edx, eax
mov eax, dword [rbp + 0x324]
add edx, eax
mov eax, dword [rbp + 0x104]
add edx, eax
mov eax, dword [rbp + 0x100]
add edx, eax
mov eax, dword [rbp + 0xfc]
add edx, eax
mov eax, dword [rbp + 0xf8]
add edx, eax
mov eax, dword [rbp + 0xf4]
add edx, eax
mov eax, dword [rbp + 0x320]
add edx, eax
mov eax, dword [rbp + 0xf0]
add edx, eax
mov eax, dword [rbp + 0xec]
add edx, eax
mov eax, dword [rbp + 0x31c]
add edx, eax
mov eax, dword [rbp + 0x318]
add edx, eax
mov eax, dword [rbp + 0xe8]
add edx, eax
mov eax, dword [rbp + 0xe4]
add edx, eax
mov eax, dword [rbp + 0xe0]
add edx, eax
mov eax, dword [rbp + 0xdc]
add edx, eax
mov eax, dword [rbp + 0xd8]
add edx, eax
mov eax, dword [rbp + 0xd4]
add edx, eax
mov eax, dword [rbp + 0xd0]
add edx, eax
mov eax, dword [rbp + 0x314]
add edx, eax
mov eax, dword [rbp + 0xcc]
add edx, eax
mov eax, dword [rbp + 0xc8]
add edx, eax
mov eax, dword [rbp + 0xc4]
add edx, eax
mov eax, dword [rbp + 0xc0]
add edx, eax
mov eax, dword [rbp + 0x310]
add edx, eax
mov eax, dword [rbp + 0xbc]
add edx, eax
mov eax, dword [rbp + 0xb8]
add edx, eax
mov eax, dword [rbp + 0xb4]
add edx, eax
mov eax, dword [rbp + 0xb0]
add edx, eax
mov eax, dword [rbp + 0x30c]
add edx, eax
mov eax, dword [rbp + 0xac]
add edx, eax
mov eax, dword [rbp + 0xa8]
add edx, eax
mov eax, dword [rbp + 0xa4]
add edx, eax
mov eax, dword [rbp + 0xa0]
add edx, eax
mov eax, dword [rbp + 0x308]
add edx, eax
mov eax, dword [rbp + 0x304]
add edx, eax
mov eax, dword [rbp + 0x9c]
add edx, eax
mov eax, dword [rbp + 0x98]
add edx, eax
mov eax, dword [rbp + 0x94]
add edx, eax
mov eax, dword [rbp + 0x90]
add edx, eax
mov eax, dword [rbp + 0x8c]
add edx, eax
mov eax, dword [rbp + 0x88]
add edx, eax
mov eax, dword [rbp + 0x84]
add edx, eax
mov eax, dword [rbp + 0x80]
add edx, eax
mov eax, dword [rbp + 0x7c]
add edx, eax
mov eax, dword [rbp + 0x78]
add edx, eax
mov eax, dword [rbp + 0x74]
add edx, eax
mov eax, dword [rbp + 0x70]
add edx, eax
mov eax, dword [rbp + 0x300]
add edx, eax
mov eax, dword [rbp + 0x6c]
add edx, eax
mov eax, dword [rbp + 0x68]
add edx, eax
mov eax, dword [rbp + 0x64]
add edx, eax
mov eax, dword [rbp + 0x60]
add edx, eax
mov eax, dword [rbp + 0x5c]
add edx, eax
mov eax, dword [rbp + 0x58]
add edx, eax
mov eax, dword [rbp + 0x54]
add edx, eax
mov eax, dword [rbp + 0x50]
add edx, eax
mov eax, dword [rbp + 0x4c]
add edx, eax
mov eax, dword [rbp + 0x2fc]
add edx, eax
mov eax, dword [rbp + 0x2f8]
add edx, eax
mov eax, dword [rbp + 0x48]
add edx, eax
mov eax, dword [rbp + 0x2f4]
add edx, eax
mov eax, dword [rbp + 0x44]
add edx, eax
mov eax, dword [rbp + 0x40]
add edx, eax
mov eax, dword [rbp + 0x2f0]
add edx, eax
mov eax, dword [rbp + 0x3c]
add edx, eax
mov eax, dword [rbp + 0x38]
add edx, eax
mov eax, dword [rbp + 0x34]
add edx, eax
mov eax, dword [rbp + 0x30]
add edx, eax
mov eax, dword [rbp + 0x2c]
add edx, eax
mov eax, dword [rbp + 0x28]
add edx, eax
mov eax, dword [rbp + 0x2ec]
add edx, eax
mov eax, dword [rbp + 0x2e8]
add edx, eax
mov eax, dword [rbp + 0x2e4]
add edx, eax
mov eax, dword [rbp + 0x24]
add edx, eax
mov eax, dword [rbp + 0x20]
add edx, eax
mov eax, dword [rbp + 0x1c]
add edx, eax
mov eax, dword [rbp + 0x18]
add edx, eax
mov eax, dword [rbp + 0x14]
add edx, eax
mov eax, dword [rbp + 0x10]
add edx, eax
mov eax, dword [rbp + 0xc]
add edx, eax
mov eax, dword [rbp + 8]
add edx, eax
mov eax, dword [rbp + 4]
add edx, eax
mov eax, dword [rbp]
add edx, eax
mov eax, dword [rbp + 0x2e0]
add edx, eax
mov eax, dword [rbp - 4]
add edx, eax
mov eax, dword [rbp - 8]
add edx, eax
mov eax, dword [rbp - 0xc]
add edx, eax
mov eax, dword [rbp - 0x10]
add edx, eax
mov eax, dword [rbp - 0x14]
add edx, eax
mov eax, dword [rbp - 0x18]
add edx, eax
mov eax, dword [rbp - 0x1c]
add edx, eax
mov eax, dword [rbp + 0x2dc]
add edx, eax
mov eax, dword [rbp - 0x20]
add edx, eax
mov eax, dword [rbp - 0x24]
add edx, eax
mov eax, dword [rbp - 0x28]
add edx, eax
mov eax, dword [rbp - 0x2c]
add edx, eax
mov eax, dword [rbp - 0x30]
add edx, eax
mov eax, dword [rbp - 0x34]
add edx, eax
mov eax, dword [rbp + 0x2d8]
add edx, eax
mov eax, dword [rbp - 0x38]
add edx, eax
mov eax, dword [rbp + 0x2d4]
add edx, eax
mov eax, dword [rbp - 0x3c]
add edx, eax
mov eax, dword [rbp - 0x40]
add edx, eax
mov eax, dword [rbp - 0x44]
add edx, eax
mov eax, dword [rbp - 0x48]
add edx, eax
mov eax, dword [rbp + 0x2d0]
add edx, eax
mov eax, dword [rbp - 0x4c]
add edx, eax
mov eax, dword [rbp - 0x50]
add edx, eax
mov eax, dword [rbp + 0x2cc]
add edx, eax
mov eax, dword [rbp - 0x54]
add edx, eax
mov eax, dword [rbp - 0x58]
add eax, edx
mov dword [rbp + 0x3b0], eax
mov eax, dword [rbp + 0x3b0]
add rsp, 0x420
pop rbp
ret