Function at 0x451d20
Capabilities:
Authenticate hmac

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x4c0
mov eax, 2
imul ecx, eax, 0x140
movsx edx, word [ecx + 0x48f8e0]
sub edx, 0x1e65d3f4
cmp edx, 0xefabbf1d
je 0x451d75
mov eax, 2
imul ecx, eax, 0x3da
movsx edx, word [ecx + 0x48f8e0]
imul eax, edx, 0x3e11e317
mov ecx, 2
imul edx, ecx, 0x3da
mov word [edx + 0x48f8e0], ax
lea ecx, [ebp]
call fcn.004132b0
mov eax, 4
imul ecx, eax, 0x550
mov edx, 4
imul eax, edx, 0x12b
mov edx, dword [eax + 0x490b10]
lea eax, [edx + edx + 0x110106e4]
mov ecx, dword [ecx + 0x490b10]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x550
mov dword [eax + 0x490b10], ecx
mov ecx, 2
imul edx, ecx, 0x6c
movsx eax, word [edx + 0x48f8e0]
add eax, 0x40000000
mov ecx, 2
imul edx, ecx, 0x6c
mov word [edx + 0x48f8e0], ax
mov eax, 4
imul ecx, eax, 0x640
mov dword [ecx + 0x490b10], 0xb228b611
mov edx, 4
imul eax, edx, 0x153
mov ecx, 2
imul edx, ecx, 0x76c
movsx ecx, word [edx + 0x48f8e0]
sar ecx, 9
and ecx, 0x95cef714
mov edx, dword [eax + 0x490b10]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x153
mov dword [ecx + 0x490b10], edx
mov dword [ebp + 0x30], 0
mov edx, 4
imul eax, edx, 0x370
imul ecx, dword [eax + 0x490b10], 0x37304fc6
add ecx, 0xf91f5af
mov dword [ebp - 4], ecx
mov edx, 4
imul eax, edx, 0x473
mov ecx, dword [eax + 0x490b10]
xor ecx, 0x2ce2b069
mov dword [ebp - 0x40], ecx
mov edx, 4
imul eax, edx, 0x473
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x473
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x40]
jle 0x451ec6
mov edx, 4
imul eax, edx, 0x363
mov ecx, dword [eax + 0x490b10]
add ecx, 0x6db2bf51
mov edx, 4
imul eax, edx, 0x363
mov dword [eax + 0x490b10], ecx
jmp 0x451f25
mov ecx, 4
imul edx, ecx, 0x79a
mov eax, 4
imul ecx, eax, 0x4e1
mov eax, dword [ecx + 0x490b10]
add eax, 0x22c98f95
mov ecx, dword [edx + 0x490b10]
or ecx, eax
mov edx, 4
imul eax, edx, 0x79a
mov dword [eax + 0x490b10], ecx
mov ecx, 4
imul edx, ecx, 0x4e1
mov eax, dword [edx + 0x490b10]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x4e1
mov dword [edx + 0x490b10], eax
mov dword [0x48eea8], 0x94
mov eax, 4
imul ecx, eax, 0x735
mov edx, dword [ecx + 0x490b10]
or edx, 0x9512ffb3
mov eax, 4
imul ecx, eax, 0x735
mov dword [ecx + 0x490b10], edx
push 0x48eea8
call dword [0x48f7c8]
mov edx, 4
imul eax, edx, 0x67a
mov ecx, 4
imul edx, ecx, 0x609
mov ecx, dword [edx + 0x490b10]
not ecx
add ecx, 0x1e2b4683
mov edx, dword [eax + 0x490b10]
and edx, ecx
mov eax, 4
imul ecx, eax, 0x67a
mov dword [ecx + 0x490b10], edx
call fcn.004040a0
mov dword [0x48f6b0], eax
mov edx, 4
imul eax, edx, 0x349
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov dword [ebp + 0x2c], ecx
mov edx, 4
imul eax, edx, 0x349
mov ecx, dword [ebp + 0x2c]
mov dword [eax + 0x490b10], ecx
mov edx, dword [ebp + 0x2c]
xor edx, 0x70be5235
cmp edx, 0x773b1a94
jle 0x452090
mov eax, 4
imul ecx, eax, 0x2a2
mov edx, dword [ecx + 0x490b10]
add edx, 1
mov dword [ebp + 0x1c], edx
mov eax, 4
imul ecx, eax, 0x2a2
mov edx, dword [ebp + 0x1c]
mov dword [ecx + 0x490b10], edx
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x8b2
imul eax, dword [edx + 0x490b10], 0xe8cde38d
mov ecx, 0xb711aad0
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov edx, 4
imul eax, edx, 0x8b2
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov edx, 4
imul eax, edx, 0x8b2
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x2c]
jge 0x452090
mov edx, 2
imul eax, edx, 0xef
movsx ecx, word [eax + 0x48f8e0]
add ecx, 0x1beffde0
mov edx, 2
imul eax, edx, 0xef
mov word [eax + 0x48f8e0], cx
call fcn.004196d0
mov dword [0x48f6b4], eax
mov ecx, 4
imul edx, ecx, 0x2fc
mov eax, 4
imul ecx, eax, 0x6b6
mov eax, dword [ecx + 0x490b10]
shl eax, 8
sub eax, 0x135d5296
mov ecx, dword [edx + 0x490b10]
add ecx, eax
mov edx, 4
imul eax, edx, 0x2fc
mov dword [eax + 0x490b10], ecx
cmp dword [0x48f6b0], 0
je 0x45256d
mov ecx, 4
imul edx, ecx, 0x219
imul eax, dword [edx + 0x490b10], 0x9b7b7fdb
mov dword [ebp - 0x14], eax
mov ecx, 2
imul edx, ecx, 0x386
movsx eax, word [edx + 0x48f8e0]
and eax, 0xb2e42128
mov dword [ebp - 0x3c], eax
mov ecx, 2
imul edx, ecx, 0x386
mov ax, word [edx + 0x48f8e0]
sub ax, 1
mov ecx, 2
imul edx, ecx, 0x386
mov word [edx + 0x48f8e0], ax
mov eax, 4
imul ecx, eax, 0x219
mov edx, dword [ecx + 0x490b10]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x219
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x3c]
jg 0x452197
mov eax, 2
imul ecx, eax, 0x664
movsx edx, word [ecx + 0x48f8e0]
imul eax, edx, 0xea3be39f
mov ecx, 2
imul edx, ecx, 0x664
mov word [edx + 0x48f8e0], ax
jmp 0x4521c1
mov eax, 2
imul ecx, eax, 0x4ff
movsx edx, word [ecx + 0x48f8e0]
or edx, 0x16fa1a61
mov eax, 2
imul ecx, eax, 0x4ff
mov word [ecx + 0x48f8e0], dx
lea edx, [ebp - 0x448]
push edx
call fcn.0044d680
add esp, 4
mov dword [ebp + 0x74], eax
mov eax, 4
imul ecx, eax, 0x22
mov edx, dword [ecx + 0x490b10]
mov dword [ebp - 0x1c], edx
mov eax, 4
imul ecx, eax, 0x464
mov edx, dword [ecx + 0x490b10]
sub edx, 0x416d10c0
xor edx, 0xff80407a
mov dword [ebp - 0x34], edx
mov eax, 4
imul ecx, eax, 0x22
mov edx, dword [ecx + 0x490b10]
add edx, 1
mov eax, 4
imul ecx, eax, 0x22
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x34]
jne 0x452270
mov eax, 2
imul ecx, eax, 0x797
mov edx, 4
imul eax, edx, 0x5de
mov edx, dword [eax + 0x490b10]
not edx
mov eax, 0x2fc002db
sub eax, edx
xor eax, 0x301893b
movsx ecx, word [ecx + 0x48f8e0]
xor ecx, eax
mov edx, 2
imul eax, edx, 0x797
mov word [eax + 0x48f8e0], cx
mov ecx, dword [ebp + 0x74]
mov byte [ebp + ecx - 0x448], 0x5c
mov edx, 4
imul eax, edx, 0x66a
mov ecx, dword [eax + 0x490b10]
not ecx
mov edx, 4
imul eax, edx, 0x68f
mov edx, dword [eax + 0x490b10]
xor edx, 0xbd36c0d1
or ecx, edx
mov dword [ebp - 0x24], ecx
mov eax, 4
imul ecx, eax, 0x8ee
mov edx, dword [ecx + 0x490b10]
mov dword [ebp - 0x44], edx
mov eax, 4
imul ecx, eax, 0x68f
mov edx, dword [ecx + 0x490b10]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x68f
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x44]
jg 0x452313
mov eax, 4
imul ecx, eax, 0x15c
mov edx, dword [ecx + 0x490b10]
add edx, 0x2712d707
mov eax, 4
imul ecx, eax, 0x15c
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 0x74]
add edx, 1
mov dword [ebp + 0x74], edx
mov eax, 2
imul ecx, eax, 0x853
movsx edx, word [ecx + 0x48f8e0]
or edx, 0x4e198c84
mov eax, 2
imul ecx, eax, 0x853
mov word [ecx + 0x48f8e0], dx
mov edx, dword [ebp + 0x74]
mov byte [ebp + edx - 0x448], 0
mov eax, 4
imul ecx, eax, 0x657
mov edx, dword [ecx + 0x490b10]
and edx, 0xee7fbeb3
mov eax, 4
imul ecx, eax, 0x657
mov dword [ecx + 0x490b10], edx
mov edx, dword [0x48f6f0]
push edx
lea eax, [ebp - 0x448]
push eax
call fcn.00465210
add esp, 8
mov ecx, 4
imul edx, ecx, 0x5f2
mov dword [edx + 0x490b10], 0xaca32cbe
push 0
lea eax, [ebp - 0x448]
push eax
call dword [0x48f818]
mov ecx, 4
imul edx, ecx, 0x71b
mov eax, dword [edx + 0x490b10]
xor eax, 0x3cd25a08
mov ecx, 4
imul edx, ecx, 0x6c6
cmp eax, dword [edx + 0x490b10]
je 0x45242a
mov eax, 4
imul ecx, eax, 0x53
mov edx, dword [ecx + 0x490b10]
sub edx, 1
mov dword [ebp + 0x5c], edx
mov eax, 4
imul ecx, eax, 0x53
mov edx, dword [ebp + 0x5c]
mov dword [ecx + 0x490b10], edx
mov eax, 2
imul ecx, eax, 0x61f
movsx edx, word [ecx + 0x48f8e0]
add edx, dword [ebp + 0x5c]
mov eax, 2
imul ecx, eax, 0x61f
mov word [ecx + 0x48f8e0], dx
jmp 0x45248f
mov edx, 4
imul eax, edx, 0x71
mov ecx, 0x612b0778
sub ecx, dword [eax + 0x490b10]
mov dword [ebp - 8], ecx
mov edx, 4
imul eax, edx, 0x71
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x71
mov dword [eax + 0x490b10], ecx
cmp dword [ebp - 8], 0x911bdb4a
jne 0x45248f
mov ecx, 4
imul edx, ecx, 0x846
mov eax, dword [edx + 0x490b10]
and eax, 0xf34110c6
mov ecx, 4
imul edx, ecx, 0x846
mov dword [edx + 0x490b10], eax
push 0x1f
push 0x34cb
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x14], eax
mov eax, 4
imul ecx, eax, 0x24
mov edx, 4
imul eax, edx, 0x221
mov edx, dword [eax + 0x490b10]
or edx, 0x89e8002c
mov eax, dword [ecx + 0x490b10]
or eax, edx
mov ecx, 4
imul edx, ecx, 0x24
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x448]
push ecx
call fcn.00465210
add esp, 8
mov edx, 4
imul eax, edx, 0x2be
mov ecx, dword [eax + 0x490b10]
add ecx, 0x46cf8c7b
mov edx, 4
imul eax, edx, 0x745
mov dword [eax + 0x490b10], ecx
mov ecx, 4
imul edx, ecx, 0x2be
mov eax, dword [edx + 0x490b10]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x2be
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x14]
push eax
push 0x1f
call fcn.00439550
add esp, 8
mov ecx, 4
imul edx, ecx, 0x617
mov eax, dword [edx + 0x490b10]
add eax, 0x1e8e9165
mov ecx, 4
imul edx, ecx, 0x617
mov dword [edx + 0x490b10], eax
jmp 0x4525b9
mov eax, 4
imul ecx, eax, 0x281
mov dword [ecx + 0x490b10], 0xce34ff69
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0x448], 0
mov ecx, 4
imul edx, ecx, 0x238
mov eax, dword [edx + 0x490b10]
add eax, 0x2dd4df43
mov ecx, 4
imul edx, ecx, 0x238
mov dword [edx + 0x490b10], eax
mov eax, 2
imul ecx, eax, 0x1e5
mov edx, 0x4422
mov word [ecx + 0x48f8e0], dx
push 0x1f
push 0x193f
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x50], eax
mov eax, 4
imul ecx, eax, 0x79b
imul edx, dword [ecx + 0x490b10], 0x82c1d305
mov eax, 4
imul ecx, eax, 0x79b
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 0x50]
push edx
lea ecx, [ebp]
call fcn.00414910
mov eax, 4
imul ecx, eax, 0x825
mov edx, 2
imul eax, edx, 0x7e
movsx edx, word [eax + 0x48f8e0]
mov eax, 2
imul eax, eax, 0x6e9
movsx eax, word [eax + 0x48f8e0]
shl eax, 3
imul eax, eax, 0x847dd0a4
or edx, eax
mov ecx, dword [ecx + 0x490b10]
and ecx, edx
mov edx, 4
imul eax, edx, 0x825
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x50]
push ecx
push 0x1f
call fcn.00439550
add esp, 8
mov edx, 4
imul eax, edx, 0x7c9
mov ecx, 4
imul edx, ecx, 0x99
mov ecx, dword [edx + 0x490b10]
not ecx
imul edx, ecx, 0xada2e82e
or edx, 0x54ac4b94
mov eax, dword [eax + 0x490b10]
sub eax, edx
mov ecx, 4
imul edx, ecx, 0x7c9
mov dword [edx + 0x490b10], eax
push 0x1b356352
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp]
call fcn.00401c30
push eax
lea ecx, [ebp]
call fcn.0040a330
push eax
call fcn.0045ec70
add esp, 0x10
test eax, eax
je 0x4528af
mov ecx, 4
imul edx, ecx, 0x298
mov eax, 4
imul ecx, eax, 0x61
mov eax, 0x4fa7a0d5
sub eax, dword [ecx + 0x490b10]
and eax, 0xfedf0733
mov ecx, dword [edx + 0x490b10]
or ecx, eax
mov edx, 4
imul eax, edx, 0x298
mov dword [eax + 0x490b10], ecx
mov dword [ebp + 0x30], 1
mov ecx, 4
imul edx, ecx, 0x8e8
mov eax, dword [edx + 0x490b10]
lea ecx, [eax*8 - 0xc45df54]
or ecx, 0x9fd4a12f
cmp ecx, 0xd29b4511
je 0x452774
mov edx, 4
imul eax, edx, 0x362
mov ecx, dword [eax + 0x490b10]
or ecx, 0xcd22ab6e
mov edx, 4
imul eax, edx, 0x362
mov dword [eax + 0x490b10], ecx
lea ecx, [ebp - 0x448]
push ecx
call dword [0x48f79c]
mov edx, 2
imul eax, edx, 0x841
movsx ecx, word [eax + 0x48f8e0]
mov edx, 2
imul eax, edx, 0x2e6
movsx edx, word [eax + 0x48f8e0]
sub edx, 0x6b781955
and ecx, edx
cmp ecx, 0x1282c8
jle 0x452845
mov eax, 4
imul ecx, eax, 0x809
mov edx, dword [ecx + 0x490b10]
sub edx, 1
mov dword [ebp + 0x54], edx
mov eax, 4
imul ecx, eax, 0x809
mov edx, dword [ebp + 0x54]
mov dword [ecx + 0x490b10], edx
mov eax, 2
imul ecx, eax, 0x817
movsx edx, word [ecx + 0x48f8e0]
or edx, dword [ebp + 0x54]
mov eax, 4
imul ecx, eax, 0x1a9
mov eax, dword [ecx + 0x490b10]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x1a9
mov dword [edx + 0x490b10], eax
mov eax, 2
imul ecx, eax, 0x817
mov dx, word [ecx + 0x48f8e0]
sub dx, 1
mov eax, 2
imul ecx, eax, 0x817
mov word [ecx + 0x48f8e0], dx
mov edx, dword [ebp + 0x74]
mov byte [ebp + edx - 0x448], 0
mov eax, 2
imul ecx, eax, 0x4e4
movsx edx, word [ecx + 0x48f8e0]
add edx, 0x30b57cec
mov eax, 2
imul ecx, eax, 0x4e4
mov word [ecx + 0x48f8e0], dx
lea edx, [ebp - 0x448]
push edx
call dword [0x48f81c]
mov eax, 4
imul ecx, eax, 0x250
mov edx, dword [ecx + 0x490b10]
or edx, 0x46ebd363
mov eax, 4
imul ecx, eax, 0x250
mov dword [ecx + 0x490b10], edx
mov edx, 4
imul eax, edx, 0x643
mov ecx, dword [eax + 0x490b10]
xor ecx, 0xbdde9ffb
mov edx, 4
imul eax, edx, 0x643
mov dword [eax + 0x490b10], ecx
lea ecx, [ebp - 0x448]
push ecx
call fcn.0044d680
add esp, 4
mov edx, 4
imul eax, edx, 0x6b1
mov ecx, dword [eax + 0x490b10]
xor ecx, 0x4810084
mov edx, 4
imul eax, edx, 0x6b1
mov dword [eax + 0x490b10], ecx
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x448], 0
mov eax, 4
imul ecx, eax, 0x65d
mov edx, dword [ecx + 0x490b10]
sar edx, 2
and edx, 0x2c34f9f6
cmp edx, 0x3b85dbb7
jle 0x45298f
mov eax, 4
imul ecx, eax, 0x7b7
mov edx, 4
imul eax, edx, 0x7a4
mov edx, dword [eax + 0x490b10]
lea eax, [edx*8 + 0x75e81a34]
mov edx, 4
imul edx, edx, 0x8fa
and eax, dword [edx + 0x490b10]
mov ecx, dword [ecx + 0x490b10]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x7b7
mov dword [eax + 0x490b10], ecx
jmp 0x4529b6
mov ecx, 4
imul edx, ecx, 0x1d5
mov eax, dword [edx + 0x490b10]
add eax, 0x7172ecba
mov ecx, 4
imul edx, ecx, 0x1d5
mov dword [edx + 0x490b10], eax
mov eax, dword [0x48f6f0]
push eax
lea ecx, [ebp - 0x448]
push ecx
call fcn.00465210
add esp, 8
mov edx, 4
imul eax, edx, 0x221
mov ecx, dword [eax + 0x490b10]
and ecx, 0xe7ebfeef
mov edx, 4
imul eax, edx, 0x221
mov dword [eax + 0x490b10], ecx
push 0
lea ecx, [ebp - 0x448]
push ecx
call dword [0x48f818]
mov edx, 4
imul eax, edx, 0x29e
mov ecx, dword [eax + 0x490b10]
add ecx, 0x5725d70f
mov edx, 4
imul eax, edx, 0x29e
mov dword [eax + 0x490b10], ecx
lea ecx, [ebp - 0x448]
push ecx
push 0x48f058
call fcn.00465200
add esp, 8
mov edx, 4
imul eax, edx, 0x367
mov ecx, 4
imul edx, ecx, 0x1f2
mov ecx, dword [edx + 0x490b10]
not ecx
and ecx, 0x6c7e751a
mov edx, dword [eax + 0x490b10]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x367
mov dword [ecx + 0x490b10], edx
cmp dword [ebp + 0x30], 0
jne 0x452aed
mov edx, 4
imul eax, edx, 0x584
mov ecx, dword [eax + 0x490b10]
and ecx, 0xa94053b8
mov edx, 4
imul eax, edx, 0x584
mov dword [eax + 0x490b10], ecx
mov dword [0x48f6ac], 0
mov ecx, 2
imul edx, ecx, 0x4b5
mov eax, 2
imul ecx, eax, 0x4f
movsx eax, word [ecx + 0x48f8e0]
and eax, 0x995a5cbc
movsx ecx, word [edx + 0x48f8e0]
add ecx, eax
mov edx, 2
imul eax, edx, 0x4b5
mov word [eax + 0x48f8e0], cx
mov ecx, 2
imul edx, ecx, 0x53e
movsx eax, word [edx + 0x48f8e0]
or eax, 0x60ed30e7
mov ecx, 2
imul edx, ecx, 0x53e
mov word [edx + 0x48f8e0], ax
lea eax, [ebp - 0x448]
push eax
call fcn.004136a0
add esp, 4
mov dword [ebp + 0x74], eax
mov ecx, 4
imul edx, ecx, 0x14b
mov eax, 2
imul ecx, eax, 0x8c2
movsx eax, word [ecx + 0x48f8e0]
not eax
imul ecx, eax, 0x908a6ef7
and ecx, 0x55a9446c
mov edx, dword [edx + 0x490b10]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x14b
mov dword [ecx + 0x490b10], edx
push 0
lea edx, [ebp - 0x448]
push edx
call dword [0x48f818]
mov eax, 2
imul ecx, eax, 0xcc
movsx edx, word [ecx + 0x48f8e0]
or edx, 0x88106000
mov eax, 2
imul ecx, eax, 0x6ae
mov word [ecx + 0x48f8e0], dx
push 0x1f
push 0x34cb
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x48], eax
mov edx, 4
imul eax, edx, 0x68f
mov ecx, 4
imul edx, ecx, 0x8c6
imul ecx, dword [edx + 0x490b10], 0x6013ccbc
or ecx, 0xd552833e
mov edx, dword [eax + 0x490b10]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x68f
mov dword [ecx + 0x490b10], edx
mov edx, 4
imul eax, edx, 0x8c6
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov edx, 4
imul eax, edx, 0x8c6
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x48]
push ecx
lea edx, [ebp - 0x448]
push edx
call fcn.00465210
add esp, 8
mov eax, 4
imul ecx, eax, 0x44a
mov edx, 0x82df1785
sub edx, dword [ecx + 0x490b10]
mov eax, 4
imul ecx, eax, 0xc0
mov dword [ecx + 0x490b10], edx
push 0x1f
push 0x193f
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x20], eax
mov edx, 4
imul eax, edx, 0x359
imul ecx, dword [eax + 0x490b10], 0x6f79ed57
mov edx, 4
imul eax, edx, 0x359
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x48]
push ecx
push 0x1f
call fcn.00439550
add esp, 8
mov edx, 4
imul eax, edx, 0xbc
mov ecx, 4
imul edx, ecx, 0x21f
mov ecx, dword [edx + 0x490b10]
add ecx, 0x3562ce6
mov edx, dword [eax + 0x490b10]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0xbc
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 0x20]
push edx
lea ecx, [ebp]
call fcn.00414910
mov eax, 4
imul ecx, eax, 0x214
mov edx, dword [ecx + 0x490b10]
sub edx, 0xcfc6113
mov eax, 4
imul ecx, eax, 0x214
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 0x20]
push edx
push 0x1f
call fcn.00439550
add esp, 8
mov eax, 2
imul ecx, eax, 0xf8
movsx edx, word [ecx + 0x48f8e0]
xor edx, 0xed24c0e0
mov eax, 2
imul ecx, eax, 0xf8
mov word [ecx + 0x48f8e0], dx
push 0x1b356352
lea edx, [ebp - 0x448]
push edx
lea ecx, [ebp]
call fcn.00401c30
push eax
lea ecx, [ebp]
call fcn.0040a330
push eax
call fcn.0045ec70
add esp, 0x10
test eax, eax
jne 0x453e7f
mov eax, 4
shl eax, 0xb
mov ecx, 4
imul edx, ecx, 0x616
imul ecx, dword [edx + 0x490b10], 0xa148ff60
mov edx, dword [eax + 0x490b10]
xor edx, ecx
mov eax, 4
shl eax, 0xb
mov dword [eax + 0x490b10], edx
cmp dword [0x48eeac], 6
jb 0x452f53
mov ecx, 2
imul edx, ecx, 0x36
movsx eax, word [edx + 0x48f8e0]
sub eax, 0x24dc3ada
mov dword [ebp - 0x10], eax
mov ecx, 2
imul edx, ecx, 0x36
mov ax, word [edx + 0x48f8e0]
sub ax, 1
mov ecx, 2
imul edx, ecx, 0x36
mov word [edx + 0x48f8e0], ax
cmp dword [ebp - 0x10], 0xe07263d1
jle 0x452e33
mov eax, 4
imul ecx, eax, 0x548
mov edx, 4
imul eax, edx, 0x7b3
imul edx, dword [eax + 0x490b10], 0x4a275331
add edx, 0x57b1e063
mov eax, dword [ecx + 0x490b10]
sub eax, edx
mov ecx, 4
imul edx, ecx, 0x548
mov dword [edx + 0x490b10], eax
jmp 0x452e77
mov eax, 4
imul ecx, eax, 0x829
mov edx, dword [ecx + 0x490b10]
sar edx, 7
cmp edx, 0x7d59dd02
jle 0x452e77
mov eax, 4
imul ecx, eax, 0x90c
mov edx, dword [ecx + 0x490b10]
xor edx, 0xb289d749
mov eax, 4
imul ecx, eax, 0x90c
mov dword [ecx + 0x490b10], edx
push 0x12
push 0x2813
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x40], eax
mov edx, 4
imul eax, edx, 0x117
mov ecx, 4
imul edx, ecx, 0x6c3
mov ecx, dword [edx + 0x490b10]
xor ecx, 0x1d26747
mov edx, dword [eax + 0x490b10]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x117
mov dword [ecx + 0x490b10], edx
push 0x48ef40
mov edx, dword [ebp + 0x40]
push edx
lea eax, [ebp - 0x448]
push eax
call fcn.00466670
add esp, 0xc
mov ecx, 4
imul edx, ecx, 0x5c0
mov eax, 4
imul ecx, eax, 0xfd
mov eax, dword [ecx + 0x490b10]
and eax, 0xabf21f44
mov ecx, dword [edx + 0x490b10]
add ecx, eax
mov edx, 4
imul eax, edx, 0x5c0
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x40]
push ecx
push 0x12
call fcn.00439550
add esp, 8
mov edx, 2
imul eax, edx, 0x9c
movsx ecx, word [eax + 0x48f8e0]
sub ecx, 0x42061210
mov edx, 2
imul eax, edx, 0x9c
mov word [eax + 0x48f8e0], cx
jmp 0x45308d
mov ecx, 4
imul edx, ecx, 0x729
mov eax, 4
imul ecx, eax, 0x5a6
mov eax, dword [ecx + 0x490b10]
sar eax, 6
add eax, 0x2f8e8f54
or eax, 0xff8b1deb
mov ecx, dword [edx + 0x490b10]
imul ecx, eax
mov edx, 4
imul eax, edx, 0x729
mov dword [eax + 0x490b10], ecx
push 0x24
push 0x2ba
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x28], eax
mov ecx, 4
imul edx, ecx, 0x268
mov eax, dword [edx + 0x490b10]
not eax
mov ecx, 4
imul edx, ecx, 0x4b8
mov dword [edx + 0x490b10], eax
push 0x48ef40
mov eax, dword [ebp + 0x28]
push eax
lea ecx, [ebp - 0x448]
push ecx
call fcn.00466670
add esp, 0xc
mov edx, 2
imul eax, edx, 0x6a0
mov ecx, 4
imul edx, ecx, 0x12c
imul ecx, dword [edx + 0x490b10], 0x17b45712
movsx edx, word [eax + 0x48f8e0]
lea eax, [edx + ecx - 0x35f67943]
mov ecx, 2
imul edx, ecx, 0x6a0
mov word [edx + 0x48f8e0], ax
mov eax, dword [ebp + 0x28]
push eax
push 0x24
call fcn.00439550
add esp, 8
mov ecx, 4
imul edx, ecx, 0x683
mov eax, dword [edx + 0x490b10]
and eax, 0x71c8a437
cmp eax, 0x89a18317
jl 0x45308d
mov ecx, 2
imul edx, ecx, 0x611
mov eax, 4
imul ecx, eax, 0x122
mov eax, dword [ecx + 0x490b10]
not eax
xor eax, 0xf3d72b5a
movsx ecx, word [edx + 0x48f8e0]
and ecx, eax
mov edx, 2
imul eax, edx, 0x611
mov word [eax + 0x48f8e0], cx
mov ecx, 4
imul edx, ecx, 0x852
mov eax, dword [edx + 0x490b10]
sub eax, 0x67dbae33
mov ecx, 4
imul edx, ecx, 0x852
mov dword [edx + 0x490b10], eax
mov eax, 1
shl eax, 0xa
mov byte [ebp + eax - 0x448], 0
mov ecx, 4
imul edx, ecx, 0x66b
imul eax, dword [edx + 0x490b10], 0x81000088
mov ecx, 4
imul edx, ecx, 0x66b
mov dword [edx + 0x490b10], eax
mov eax, dword [0x48f6f0]
push eax
lea ecx, [ebp - 0x448]
push ecx
call fcn.00465210
add esp, 8
mov edx, 4
imul eax, edx, 0x575
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov dword [ebp + 0x38], ecx
mov edx, 4
imul eax, edx, 0x575
mov ecx, dword [ebp + 0x38]
mov dword [eax + 0x490b10], ecx
mov edx, 4
imul eax, edx, 0x5e0
mov ecx, dword [eax + 0x490b10]
add ecx, 0x650875b5
xor ecx, dword [ebp + 0x38]
mov dword [ebp - 0x18], ecx
mov edx, 4
imul eax, edx, 0x5e0
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov edx, 4
imul eax, edx, 0x5e0
mov dword [eax + 0x490b10], ecx
cmp dword [ebp - 0x18], 0x9db57093
jg 0x453224
mov ecx, 4
imul edx, ecx, 0x25c
imul eax, dword [edx + 0x490b10], 0xe60d7b68
mov dword [ebp - 0x20], eax
mov ecx, 4
imul edx, ecx, 0x106
mov eax, 0xe0bc7fd
sub eax, dword [edx + 0x490b10]
mov dword [ebp - 0x28], eax
mov ecx, 4
imul edx, ecx, 0x106
mov eax, dword [edx + 0x490b10]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x106
mov dword [edx + 0x490b10], eax
mov eax, 4
imul ecx, eax, 0x25c
mov edx, dword [ecx + 0x490b10]
add edx, 1
mov eax, 4
imul ecx, eax, 0x25c
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jle 0x453224
mov eax, 4
imul ecx, eax, 0x524
mov edx, dword [ecx + 0x490b10]
add edx, 0x4e861495
mov eax, 4
imul ecx, eax, 0x524
mov dword [ecx + 0x490b10], edx
push 0
lea edx, [ebp - 0x448]
push edx
call dword [0x48f818]
mov eax, 2
imul ecx, eax, 0x7e4
movsx edx, word [ecx + 0x48f8e0]
sub edx, 0xdaae4ee
mov eax, 2
imul ecx, eax, 0x7e4
mov word [ecx + 0x48f8e0], dx
lea edx, [ebp - 0x448]
push edx
push 0x48f058
call fcn.00465200
add esp, 8
mov eax, 4
imul ecx, eax, 0x776
imul edx, dword [ecx + 0x490b10], 0xe770bb88
mov eax, 4
imul ecx, eax, 0x776
mov dword [ecx + 0x490b10], edx
lea edx, [ebp - 0x448]
push edx
call fcn.004136a0
add esp, 4
mov dword [ebp + 0x74], eax
mov eax, 4
imul ecx, eax, 0x34b
mov edx, dword [ecx + 0x490b10]
and edx, 0x379b377f
mov eax, 4
imul ecx, eax, 0x34b
mov dword [ecx + 0x490b10], edx
push 0
lea edx, [ebp - 0x448]
push edx
call dword [0x48f818]
mov eax, 4
imul ecx, eax, 0x4f0
mov edx, 4
imul eax, edx, 0x343
mov ecx, dword [ecx + 0x490b10]
add ecx, dword [eax + 0x490b10]
mov edx, 4
imul eax, edx, 0x4f0
mov dword [eax + 0x490b10], ecx
push 0x1f
push 0x34cb
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x18], eax
mov ecx, 4
imul edx, ecx, 0x16c
mov eax, dword [edx + 0x490b10]
or eax, 0x7a4a70e8
mov ecx, 4
imul edx, ecx, 0x16c
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x448]
push ecx
call fcn.00465210
add esp, 8
mov edx, 4
imul eax, edx, 0x3dc
mov ecx, dword [eax + 0x490b10]
sub ecx, 0x23173c34
mov edx, 4
imul eax, edx, 0x3dc
mov dword [eax + 0x490b10], ecx
push 0x1f
push 0x193f
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x58], eax
mov ecx, 2
imul edx, ecx, 0x42f
mov eax, 2
imul ecx, eax, 0x78b
movsx eax, word [ecx + 0x48f8e0]
or eax, 0x16e81929
movsx ecx, word [edx + 0x48f8e0]
imul ecx, eax
mov edx, 2
imul eax, edx, 0x42f
mov word [eax + 0x48f8e0], cx
mov ecx, 2
imul edx, ecx, 0x78b
mov ax, word [edx + 0x48f8e0]
add ax, 1
mov ecx, 2
imul edx, ecx, 0x78b
mov word [edx + 0x48f8e0], ax
mov eax, dword [ebp + 0x18]
push eax
push 0x1f
call fcn.00439550
add esp, 8
mov ecx, 2
imul edx, ecx, 0x749
mov eax, 4
imul ecx, eax, 0x472
mov eax, dword [ecx + 0x490b10]
shl eax, 8
mov ecx, 4
imul ecx, ecx, 0x8a3
mov ecx, dword [ecx + 0x490b10]
shl ecx, 2
sub eax, ecx
mov ecx, 4
imul ecx, ecx, 0x113
xor eax, dword [ecx + 0x490b10]
movsx edx, word [edx + 0x48f8e0]
add edx, eax
mov eax, 2
imul ecx, eax, 0x749
mov word [ecx + 0x48f8e0], dx
mov edx, dword [ebp + 0x58]
push edx
lea ecx, [ebp]
call fcn.00414910
mov eax, 4
imul ecx, eax, 0x766
mov edx, 2
imul eax, edx, 0x88
movsx edx, word [eax + 0x48f8e0]
mov eax, 2
imul eax, eax, 0x499
movsx eax, word [eax + 0x48f8e0]
lea edx, [edx + eax - 0x17629f19]
mov eax, dword [ecx + 0x490b10]
xor eax, edx
mov ecx, 4
imul edx, ecx, 0x766
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x58]
push eax
push 0x1f
call fcn.00439550
add esp, 8
mov ecx, 2
imul edx, ecx, 0x52a
mov eax, 4
imul ecx, eax, 0x12a
mov eax, dword [ecx + 0x490b10]
shl eax, 4
mov ecx, 0xead01ca6
sub ecx, eax
mov eax, 4
imul eax, eax, 0x711
or ecx, dword [eax + 0x490b10]
movsx edx, word [edx + 0x48f8e0]
or edx, ecx
mov eax, 2
imul ecx, eax, 0x52a
mov word [ecx + 0x48f8e0], dx
mov edx, 4
imul eax, edx, 0x711
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x711
mov dword [eax + 0x490b10], ecx
push 0x1b356352
lea ecx, [ebp - 0x448]
push ecx
lea ecx, [ebp]
call fcn.00401c30
push eax
lea ecx, [ebp]
call fcn.0040a330
push eax
call fcn.0045ec70
add esp, 0x10
test eax, eax
jne 0x453e57
mov edx, 4
imul eax, edx, 0x442
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov dword [ebp + 0x4c], ecx
mov edx, 4
imul eax, edx, 0x442
mov ecx, dword [ebp + 0x4c]
mov dword [eax + 0x490b10], ecx
mov edx, 0x79591f1b
sub edx, dword [ebp + 0x4c]
mov eax, 4
imul ecx, eax, 0x135
mov eax, dword [ecx + 0x490b10]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x135
mov dword [edx + 0x490b10], eax
lea eax, [ebp - 0x448]
push eax
push 0x104
call dword [0x48f7b8]
mov ecx, 2
imul edx, ecx, 0x900
mov eax, 4
imul ecx, eax, 0x640
mov eax, dword [ecx + 0x490b10]
mov ecx, 4
imul ecx, ecx, 0x8de
mov ecx, dword [ecx + 0x490b10]
not ecx
lea eax, [eax + ecx + 0x1bfd5c4d]
movsx ecx, word [edx + 0x48f8e0]
xor ecx, eax
mov edx, 2
imul eax, edx, 0x900
mov word [eax + 0x48f8e0], cx
lea ecx, [ebp - 0x448]
push ecx
call fcn.00465390
add esp, 4
mov dword [ebp + 0x74], eax
mov edx, 2
imul eax, edx, 0x83
movsx ecx, word [eax + 0x48f8e0]
sub ecx, 0xed0d7ef
mov edx, 2
imul eax, edx, 0x83
mov word [eax + 0x48f8e0], cx
mov ecx, dword [ebp + 0x74]
sub ecx, 2
mov dword [ebp + 0x74], ecx
mov edx, 4
imul eax, edx, 0xdb
mov ecx, 4
imul edx, ecx, 0x8c
mov ecx, 4
imul ecx, ecx, 0x150
mov ecx, dword [ecx + 0x490b10]
and ecx, 0x520d5235
mov edx, dword [edx + 0x490b10]
or edx, ecx
mov eax, dword [eax + 0x490b10]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0xdb
mov dword [edx + 0x490b10], eax
mov eax, 4
imul ecx, eax, 0x8c
mov edx, dword [ecx + 0x490b10]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x8c
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp + 0x74]
mov dword [ebp + 0x70], edx
jmp 0x453700
mov eax, dword [ebp + 0x70]
sub eax, 1
mov dword [ebp + 0x70], eax
cmp dword [ebp + 0x70], 0
jle 0x4538ee
mov ecx, 2
imul edx, ecx, 0xfc
movsx eax, word [edx + 0x48f8e0]
xor eax, 0x6ef13332
mov ecx, 2
imul edx, ecx, 0xfc
mov word [edx + 0x48f8e0], ax
mov eax, dword [ebp + 0x70]
movsx ecx, byte [ebp + eax - 0x448]
cmp ecx, 0x5c
jne 0x4538aa
mov edx, 2
imul eax, edx, 0x738
mov ecx, 2
imul edx, ecx, 0x23d
movsx ecx, word [edx + 0x48f8e0]
movsx edx, word [eax + 0x48f8e0]
and edx, ecx
mov eax, 2
imul ecx, eax, 0x738
mov word [ecx + 0x48f8e0], dx
mov edx, dword [ebp + 0x70]
add edx, 1
mov dword [ebp + 0x70], edx
mov eax, 4
imul ecx, eax, 0x277
mov edx, 2
imul eax, edx, 0x4ad
movsx edx, word [eax + 0x48f8e0]
mov eax, dword [ecx + 0x490b10]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x277
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x70]
mov byte [ebp + eax - 0x448], 0
mov ecx, 4
imul edx, ecx, 0xfb
mov eax, dword [edx + 0x490b10]
add eax, 1
mov dword [ebp + 0x44], eax
mov ecx, 4
imul edx, ecx, 0xfb
mov eax, dword [ebp + 0x44]
mov dword [edx + 0x490b10], eax
mov ecx, dword [ebp + 0x44]
add ecx, 0x1a32d7a7
cmp ecx, 0x524f5c6c
jl 0x45382f
mov edx, 2
imul eax, edx, 0x365
movsx ecx, word [eax + 0x48f8e0]
sub ecx, 0x7867b97b
mov edx, 2
imul eax, edx, 0x365
mov word [eax + 0x48f8e0], cx
mov ecx, dword [ebp + 0x70]
mov dword [ebp + 0x74], ecx
mov edx, 2
imul eax, edx, 0x138
movsx ecx, word [eax + 0x48f8e0]
or ecx, 0x525d5381
mov dword [ebp - 0x30], ecx
mov edx, 2
imul eax, edx, 0x138
mov cx, word [eax + 0x48f8e0]
sub cx, 1
mov edx, 2
imul eax, edx, 0x138
mov word [eax + 0x48f8e0], cx
cmp dword [ebp - 0x30], 0x53f9511
jge 0x4538a8
mov ecx, 4
imul edx, ecx, 0x540
mov eax, dword [edx + 0x490b10]
or eax, 0xd80a8a47
mov ecx, 4
imul edx, ecx, 0x540
mov dword [edx + 0x490b10], eax
jmp 0x4538ee
mov eax, 2
imul ecx, eax, 0x6dd
mov edx, 4
imul eax, edx, 0x85f
mov edx, dword [eax + 0x490b10]
not edx
sub edx, 0x1ae2fb35
movsx eax, word [ecx + 0x48f8e0]
sub eax, edx
mov ecx, 2
imul edx, ecx, 0x6dd
mov word [edx + 0x48f8e0], ax
jmp 0x4536f7
mov eax, 2
imul ecx, eax, 0x894
movsx edx, word [ecx + 0x48f8e0]
xor edx, 0xed1df90f
mov eax, 2
imul ecx, eax, 0x894
mov word [ecx + 0x48f8e0], dx
lea edx, [ebp - 0x448]
push edx
push 0x48f058
call fcn.00465200
add esp, 8
mov eax, 4
imul ecx, eax, 0x174
imul edx, dword [ecx + 0x490b10], 0xb439e4b7
mov eax, 4
imul ecx, eax, 0x174
mov dword [ecx + 0x490b10], edx
lea edx, [ebp - 0x448]
push edx
call fcn.004136a0
add esp, 4
mov dword [ebp + 0x74], eax
mov eax, 2
imul ecx, eax, 0x458
movsx edx, word [ecx + 0x48f8e0]
sub edx, 0x22653661
mov eax, 2
imul ecx, eax, 0x458
mov word [ecx + 0x48f8e0], dx
push 0
lea edx, [ebp - 0x448]
push edx
call dword [0x48f818]
mov eax, 2
imul ecx, eax, 0x263
movsx edx, word [ecx + 0x48f8e0]
mov eax, 4
imul ecx, eax, 0x6f0
imul edx, dword [ecx + 0x490b10]
mov dword [ebp - 0x38], edx
mov edx, 2
imul eax, edx, 0x263
mov cx, word [eax + 0x48f8e0]
sub cx, 1
mov edx, 2
imul eax, edx, 0x263
mov word [eax + 0x48f8e0], cx
cmp dword [ebp - 0x38], 0x1731f1b4
je 0x453a18
mov ecx, 2
imul edx, ecx, 0x536
movsx eax, word [edx + 0x48f8e0]
mov ecx, 4
imul edx, ecx, 0x4b5
mov dword [edx + 0x490b10], eax
push 0x1f
push 0x34cb
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x3c], eax
mov eax, 2
imul ecx, eax, 0x470
movsx edx, word [ecx + 0x48f8e0]
shl edx, 7
mov eax, 4
imul ecx, eax, 0x866
and edx, dword [ecx + 0x490b10]
cmp edx, 0x3eb1b1d2
jl 0x453a80
mov edx, 4
imul eax, edx, 0x203
mov ecx, dword [eax + 0x490b10]
and ecx, 0xf3d923b9
mov edx, 4
imul eax, edx, 0x203
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x3c]
push ecx
lea edx, [ebp - 0x448]
push edx
call fcn.00465210
add esp, 8
mov eax, 4
imul ecx, eax, 0x34c
imul edx, dword [ecx + 0x490b10], 0x929ea544
mov eax, 4
imul ecx, eax, 0x34c
mov dword [ecx + 0x490b10], edx
push 0x1f
push 0x193f
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x34], eax
mov edx, 4
imul eax, edx, 0x6c9
mov ecx, dword [eax + 0x490b10]
sub ecx, 0x776c3eb6
mov edx, 4
imul eax, edx, 0x6c9
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x3c]
push ecx
push 0x1f
call fcn.00439550
add esp, 8
mov edx, 4
imul eax, edx, 0x845
imul ecx, dword [eax + 0x490b10], 0x9abf3e00
mov edx, 4
imul eax, edx, 0x845
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x34]
push ecx
lea ecx, [ebp]
call fcn.00414910
mov edx, 4
imul eax, edx, 0x3e6
mov ecx, dword [eax + 0x490b10]
xor ecx, 0x33a7ebe1
mov edx, 4
imul eax, edx, 0x3e6
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp + 0x34]
push ecx
push 0x1f
call fcn.00439550
add esp, 8
mov edx, 2
imul eax, edx, 0x6da
mov ecx, 0xffff8024
mov word [eax + 0x48f8e0], cx
push 0x1b356352
lea edx, [ebp - 0x448]
push edx
lea ecx, [ebp]
call fcn.00401c30
push eax
lea ecx, [ebp]
call fcn.0040a330
push eax
call fcn.0045ec70
add esp, 0x10
test eax, eax
jne 0x453dd3
mov eax, 4
imul ecx, eax, 0x6a3
imul edx, dword [ecx + 0x490b10], 0x70abf17
mov eax, 4
imul ecx, eax, 0x6a3
mov dword [ecx + 0x490b10], edx
lea edx, [ebp - 0x448]
push edx
push 0x104
call dword [0x48f7b8]
mov eax, 2
imul ecx, eax, 0x79a
mov edx, 0x6485
mov word [ecx + 0x48f8e0], dx
lea eax, [ebp - 0x448]
push eax
push 0x48f058
call fcn.00465200
add esp, 8
mov ecx, 4
imul edx, ecx, 0x32b
imul eax, dword [edx + 0x490b10], 0x64255d7c
cmp eax, 0xa4df1d49
jge 0x453c50
mov ecx, 4
imul edx, ecx, 0x39
mov eax, dword [edx + 0x490b10]
add eax, 0x11849194
mov ecx, 4
imul edx, ecx, 0x39
mov dword [edx + 0x490b10], eax
jmp 0x453c65
mov eax, 4
imul ecx, eax, 0xd7
mov dword [ecx + 0x490b10], 0x71371237
push 0x1f
push 0x34cb
call fcn.004199d0
add esp, 8
mov dword [ebp + 0x24], eax
mov edx, 4
imul eax, edx, 0x55e
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov dword [ebp + 0x68], ecx
mov edx, 4
imul eax, edx, 0x55e
mov ecx, dword [ebp + 0x68]
mov dword [eax + 0x490b10], ecx
cmp dword [ebp + 0x68], 0xe19606ce
jne 0x453cd7
mov edx, 2
imul eax, edx, 0x862
movsx ecx, word [eax + 0x48f8e0]
and ecx, 0x3e7c9c00
mov edx, 2
imul eax, edx, 0x862
mov word [eax + 0x48f8e0], cx
jmp 0x453d46
mov ecx, 2
imul edx, ecx, 0x481
mov ax, word [edx + 0x48f8e0]
add ax, 1
mov word [ebp + 0x6c], ax
mov ecx, 2
imul edx, ecx, 0x481
mov ax, word [ebp + 0x6c]
mov word [edx + 0x48f8e0], ax
movsx ecx, word [ebp + 0x6c]
cmp ecx, 0xa6c6d88f
jle 0x453d46
mov edx, 4
imul eax, edx, 0x2c8
mov ecx, 4
imul edx, ecx, 0x3c0
mov eax, dword [eax + 0x490b10]
add eax, dword [edx + 0x490b10]
mov ecx, 4
imul edx, ecx, 0x2c8
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x448]
push ecx
call fcn.00465210
add esp, 8
mov edx, 4
imul eax, edx, 0x162
mov ecx, 2
imul edx, ecx, 0xe3
movsx ecx, word [edx + 0x48f8e0]
sar ecx, 8
imul edx, ecx, 0x943ce0d7
xor edx, 0xd4403143
mov eax, dword [eax + 0x490b10]
sub eax, edx
mov ecx, 4
imul edx, ecx, 0x162
mov dword [edx + 0x490b10], eax
mov eax, dword [ebp + 0x24]
push eax
push 0x1f
call fcn.00439550
add esp, 8
mov ecx, 4
imul edx, ecx, 0x68a
mov eax, dword [edx + 0x490b10]
and eax, 0x6d481215
mov ecx, 4
imul edx, ecx, 0x68a
mov dword [edx + 0x490b10], eax
mov eax, 4
imul ecx, eax, 0x221
mov edx, dword [ecx + 0x490b10]
sar edx, 9
and edx, 0xb379fd0d
cmp edx, 0xf5aed633
jle 0x453e57
mov eax, 4
imul ecx, eax, 0x89c
mov edx, dword [ecx + 0x490b10]
add edx, 1
mov dword [ebp + 0x64], edx
mov eax, 4
imul ecx, eax, 0x89c
mov edx, dword [ebp + 0x64]
mov dword [ecx + 0x490b10], edx
mov eax, 4
imul ecx, eax, 0x618
mov edx, dword [ecx + 0x490b10]
imul edx, dword [ebp + 0x64]
imul eax, edx, 0x35ddc64a
cmp eax, 0xc374e47c
je 0x453e57
mov ecx, 4
imul edx, ecx, 0x20c
mov dword [edx + 0x490b10], 0xa871200
mov eax, 4
imul ecx, eax, 0x893
mov edx, dword [ecx + 0x490b10]
sub edx, 0x5fc718e2
mov eax, 4
imul ecx, eax, 0x893
mov dword [ecx + 0x490b10], edx
mov edx, 4
imul eax, edx, 0x28b
mov ecx, dword [eax + 0x490b10]
sub ecx, 0xd70bba
mov edx, 4
imul eax, edx, 0x28b
mov dword [eax + 0x490b10], ecx
lea ecx, [ebp - 0x448]
push ecx
call fcn.004136a0
add esp, 4
mov edx, 2
imul eax, edx, 0x363
mov cx, word [eax + 0x48f8e0]
sub cx, 1
mov word [ebp + 0x6e], cx
mov edx, 2
imul eax, edx, 0x363
mov cx, word [ebp + 0x6e]
mov word [eax + 0x48f8e0], cx
movsx edx, word [ebp + 0x6e]
mov eax, 4
imul ecx, eax, 0x7a3
mov eax, dword [ecx + 0x490b10]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x7a3
mov dword [edx + 0x490b10], eax
push 2
lea eax, [ebp - 0x448]
push eax
call dword [0x48f7c4]
mov ecx, 4
imul edx, ecx, 0x2db
mov eax, dword [edx + 0x490b10]
add eax, 1
mov dword [ebp + 0x60], eax
mov ecx, 4
imul edx, ecx, 0x2db
mov eax, dword [ebp + 0x60]
mov dword [edx + 0x490b10], eax
mov ecx, 4
imul edx, ecx, 0x228
mov eax, dword [edx + 0x490b10]
not eax
xor eax, 0x71507d8
cmp eax, dword [ebp + 0x60]
jg 0x453f98
mov ecx, 4
imul edx, ecx, 0xe3
mov eax, 4
imul ecx, eax, 0xb5
mov edx, dword [edx + 0x490b10]
and edx, dword [ecx + 0x490b10]
mov eax, 4
imul ecx, eax, 0xe3
mov dword [ecx + 0x490b10], edx
push 0x401
push 0
lea edx, [ebp - 0x448]
push edx
call fcn.00465170
add esp, 0xc
mov eax, 4
imul ecx, eax, 0x8fe
mov edx, dword [ecx + 0x490b10]
sub edx, 0xc0a4320
mov eax, 4
imul ecx, eax, 0x8fe
mov dword [ecx + 0x490b10], edx
lea ecx, [ebp]
call fcn.004510b0
add ebp, 0x78
mov esp, ebp
pop ebp
ret