Function at 0x640550
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x1c8
mov dword [esp + 0x194], 0x3e8650
xor edx, edx
push ebx
push ebp
xor ebp, ebp
mov dword [esp + 0x180], ecx
and dword [esp + 0x1a0], ebp
mov ebx, 0x9426614
mov dword [esp + 0x170], 0xe08963
shl dword [esp + 0x170], 0xc
xor dword [esp + 0x170], 0x45d4744b
mov dword [esp + 0xac], 0x69ab11
add dword [esp + 0xac], 0xc369
xor dword [esp + 0xac], 0xcb113438
xor dword [esp + 0xac], 0xcb7b5a43
mov dword [esp + 0x160], 0xea973a
mov eax, dword [esp + 0x160]
push esi
push edi
push 5
pop ecx
div ecx
push 0x6b
mov dword [esp + 0x16c], eax
xor edx, edx
xor dword [esp + 0x16c], 0x2eeb0b
mov dword [esp + 0x94], 0xe05a31
xor dword [esp + 0x94], 0xd4ea5e0d
shl dword [esp + 0x94], 0xa
xor dword [esp + 0x94], 0x2810f000
mov dword [esp + 0x68], 0x5db729
add dword [esp + 0x68], 0xfed7
shr dword [esp + 0x68], 0xe
add dword [esp + 0x68], 0x8427
xor dword [esp + 0x68], 0x85a1
mov dword [esp + 0x170], 0x583ac4
add dword [esp + 0x170], 0xffff7715
xor dword [esp + 0x170], 0x57b1d9
mov dword [esp + 0x160], 0x32737b
add dword [esp + 0x160], 0xffffc53f
xor dword [esp + 0x160], 0x3238ba
mov dword [esp + 0x44], 0xeb0ed0
shl dword [esp + 0x44], 0xb
imul eax, dword [esp + 0x44], 0x15
pop ecx
push 0x4f
mov dword [esp + 0x44], eax
add dword [esp + 0x44], 0x8f6d
xor dword [esp + 0x44], 0x41b90f6d
mov dword [esp + 0x18], 0xf80b62
add dword [esp + 0x18], 0xffffe6b1
shr dword [esp + 0x18], 0xa
mov eax, dword [esp + 0x18]
div ecx
xor edx, edx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x94
mov dword [esp + 0xc0], 0xd3b50e
shr dword [esp + 0xc0], 0xd
shl dword [esp + 0xc0], 9
xor dword [esp + 0xc0], 0xd3a00
mov dword [esp + 0x10c], 0xfafa46
imul eax, dword [esp + 0x10c], 0x6a
pop ecx
mov dword [esp + 0x108], eax
xor dword [esp + 0x108], 0x67eba0fc
mov dword [esp + 0xf0], 0xc16805
mov eax, dword [esp + 0xf0]
div ecx
mov dword [esp + 0xf0], eax
shr dword [esp + 0xf0], 8
xor dword [esp + 0xf0], 0x272
mov dword [esp + 0x8c], 0x96c512
add dword [esp + 0x8c], 0xffffc8cd
xor dword [esp + 0x8c], 0xb0d76680
xor dword [esp + 0x8c], 0xb041eb7f
mov dword [esp + 0x144], 0x384ae4
add dword [esp + 0x144], 0xffff7101
xor dword [esp + 0x144], 0x37bbc5
mov dword [esp + 0x88], 0x2aeead
imul eax, dword [esp + 0x88], 0x54
mov dword [esp + 0x88], eax
xor edx, edx
or dword [esp + 0x88], 0x5b2c09c4
xor dword [esp + 0x88], 0x5f3a5967
mov dword [esp + 0x44], 0x23ea43
add dword [esp + 0x44], 0x6e12
add dword [esp + 0x44], 0xffff79e6
shl dword [esp + 0x44], 9
xor dword [esp + 0x44], 0x47a041e8
mov dword [esp + 0x120], 0x4e777e
mov eax, dword [esp + 0x120]
push 0x66
pop ecx
div ecx
push 0x16
mov dword [esp + 0x124], eax
xor edx, edx
xor dword [esp + 0x124], 0x79c89
mov dword [esp + 0x134], 0xb7c59c
shl dword [esp + 0x134], 2
xor dword [esp + 0x134], 0x2de684b
mov dword [esp + 0x50], 0x553932
shl dword [esp + 0x50], 7
add dword [esp + 0x50], 0xfffff4e1
imul eax, dword [esp + 0x50], 0x46
pop ecx
push 0x4e
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0xa6c7c849
mov dword [esp + 0x12c], 0xcc630
add dword [esp + 0x12c], 0xffffb5ea
xor dword [esp + 0x12c], 0x31c2b
mov dword [esp + 0x60], 0x698a2a
add dword [esp + 0x60], 0xcd89
mov eax, dword [esp + 0x60]
div ecx
xor edx, edx
mov dword [esp + 0x60], eax
or dword [esp + 0x60], 0x88ba6aa5
xor dword [esp + 0x60], 0x88bfad58
mov dword [esp + 0xa4], 0xb3667f
imul eax, dword [esp + 0xa4], 0x63
pop ecx
mov dword [esp + 0xa0], eax
xor dword [esp + 0xa0], 0xe9db7202
xor dword [esp + 0xa0], 0xacbd372d
mov dword [esp + 0x54], 0x3bd521
shr dword [esp + 0x54], 3
xor dword [esp + 0x54], 0xc03ce724
shl dword [esp + 0x54], 0x10
xor dword [esp + 0x54], 0x9d8b7472
mov dword [esp + 0x98], 0xcec4f6
add dword [esp + 0x98], 0x731a
shl dword [esp + 0x98], 4
xor dword [esp + 0x98], 0xcfe4153
mov dword [esp + 0xa8], 0x1822d2
add dword [esp + 0xa8], 0x3d30
or dword [esp + 0xa8], 0x3643d534
xor dword [esp + 0xa8], 0x36543ec1
mov dword [esp + 0x140], 0x7fc8a3
xor dword [esp + 0x140], 0x685ed597
xor dword [esp + 0x140], 0x682c7aa0
mov dword [esp + 0x138], 0x7c0f0b
mov eax, dword [esp + 0x138]
div ecx
mov dword [esp + 0x138], eax
xor dword [esp + 0x138], 0x3190c
mov dword [esp + 0x6c], 0xed7926
xor dword [esp + 0x6c], 0x4db831f
add dword [esp + 0x6c], 0xffff7119
xor dword [esp + 0x6c], 0xd4859680
xor dword [esp + 0x6c], 0xd0b1c3c1
mov dword [esp + 0x74], 0x5a1bc3
imul eax, dword [esp + 0x74], 0x34
mov dword [esp + 0x74], eax
shr dword [esp + 0x74], 2
shl dword [esp + 0x74], 0xe
xor dword [esp + 0x74], 0xda3915c3
xor edx, edx
mov dword [esp + 0xc0], 0x3cd92
mov eax, dword [esp + 0xc0]
push 0x1f
pop esi
div esi
push 0x12
mov dword [esp + 0xc4], eax
xor edx, edx
imul eax, dword [esp + 0xc4], 0x6d
pop ecx
push 0x19
mov dword [esp + 0xc4], eax
xor dword [esp + 0xc4], 0xae210
mov dword [esp + 0xbc], 0x1854fa
or dword [esp + 0xbc], 0xd6eadfff
xor dword [esp + 0xbc], 0xd6f2c026
mov dword [esp + 0x84], 0x2bd640
shl dword [esp + 0x84], 0xa
xor dword [esp + 0x84], 0x170d7ebe
xor dword [esp + 0x84], 0xb85787ea
mov dword [esp + 0x4c], 0xab400c
add dword [esp + 0x4c], 0xffff8430
shr dword [esp + 0x4c], 9
add dword [esp + 0x4c], 0x42e2
xor dword [esp + 0x4c], 0x1da7d
mov dword [esp + 0x158], 0x741332
shr dword [esp + 0x158], 0xe
xor dword [esp + 0x158], 0x98104
mov dword [esp + 0xb4], 0xa6aa77
add dword [esp + 0xb4], 0xffffd4c7
add dword [esp + 0xb4], 0xffff3850
xor dword [esp + 0xb4], 0xae8447
mov dword [esp + 0x74], 0x6f90dc
mov eax, dword [esp + 0x74]
div ecx
xor edx, edx
mov dword [esp + 0x74], eax
shr dword [esp + 0x74], 0xa
shl dword [esp + 0x74], 0xe
xor dword [esp + 0x74], 0x6e763c
mov dword [esp + 0x108], 0xf181c2
mov eax, dword [esp + 0x108]
pop ecx
div ecx
push 0x38
mov dword [esp + 0x108], eax
xor edx, edx
xor dword [esp + 0x108], 0xee639
mov dword [esp + 0x1c], 0xca76f9
imul eax, dword [esp + 0x1c], 0x7e
pop ecx
mov dword [esp + 0x18], eax
shl dword [esp + 0x18], 0xd
add dword [esp + 0x18], 0xffffdb0b
xor dword [esp + 0x18], 0xd1d8a985
mov dword [esp + 0x20], 0x727858
add dword [esp + 0x20], 0xffff4b88
xor dword [esp + 0x20], 0x1d7e7f92
imul eax, dword [esp + 0x20], 7
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0xcb69525d
mov dword [esp + 0xfc], 0x532efa
imul eax, dword [esp + 0xfc], 0x24
mov dword [esp + 0xfc], eax
xor dword [esp + 0xfc], 0xbb6bce2
mov dword [esp + 0x10c], 0x95bb3
imul eax, dword [esp + 0x10c], 0x71
mov dword [esp + 0x10c], eax
xor dword [esp + 0x10c], 0x4294e61
mov dword [esp + 0xdc], 0x9b7982
imul eax, dword [esp + 0xdc], 0x68
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
div ecx
mov dword [esp + 0xdc], eax
xor dword [esp + 0xdc], 0x125fbee
mov dword [esp + 0x68], 0xcd7961
or dword [esp + 0x68], 0xdc160337
imul eax, dword [esp + 0x68], 0x4a
mov dword [esp + 0x68], eax
shl dword [esp + 0x68], 9
xor dword [esp + 0x68], 0x3368bba4
mov dword [esp + 0x94], 0xfeff25
mov eax, dword [esp + 0x94]
xor edx, edx
push 0x4b
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0x565fdf7
xor dword [esp + 0x94], 0x5616325
mov dword [esp + 0x11c], 0x58d777
mov eax, dword [esp + 0x11c]
push 0x2e
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x11c], eax
xor dword [esp + 0x11c], 0xd5851
mov dword [esp + 0x28], 0x809a44
mov eax, dword [esp + 0x28]
div esi
push 0x6e
mov dword [esp + 0x2c], eax
xor edx, edx
imul eax, dword [esp + 0x2c], 0x3a
pop ecx
push 0x27
mov dword [esp + 0x2c], eax
imul eax, dword [esp + 0x2c], 0x51
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x4c2e7ca6
mov dword [esp + 0xc8], 0x617e3
imul eax, dword [esp + 0xc8], 0xa
mov dword [esp + 0xc8], eax
shr dword [esp + 0xc8], 0xc
xor dword [esp + 0xc8], 0x948ca
mov dword [esp + 0x118], 0x1cd05c
imul eax, dword [esp + 0x118], 0x4f
mov dword [esp + 0x118], eax
xor dword [esp + 0x118], 0x8e8ed5e
mov dword [esp + 0x54], 0x3ed510
add dword [esp + 0x54], 0xdbba
add dword [esp + 0x54], 0xffff94ec
imul eax, dword [esp + 0x54], 0x54
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0x14c0d41e
mov dword [esp + 0x128], 0x343477
shl dword [esp + 0x128], 0xf
xor dword [esp + 0x128], 0x1a3f8f89
mov dword [esp + 0x3c], 0xfe5f37
mov eax, dword [esp + 0x3c]
div ecx
xor edx, edx
mov dword [esp + 0x3c], eax
or dword [esp + 0x3c], 0x1e305bc7
mov eax, dword [esp + 0x3c]
pop ecx
div ecx
push 6
mov dword [esp + 0x3c], eax
xor edx, edx
xor dword [esp + 0x3c], 0xce5c81
mov dword [esp + 0x5c], 0x5d1433
xor dword [esp + 0x5c], 0xc3e904d6
shr dword [esp + 0x5c], 0xa
mov eax, dword [esp + 0x5c]
pop ecx
div ecx
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0x135c0
mov dword [esp + 0x30], 0xfd9d44
shr dword [esp + 0x30], 0xf
shl dword [esp + 0x30], 0xf
add dword [esp + 0x30], 0xead0
xor dword [esp + 0x30], 0xff8f00
mov dword [esp + 0x164], 0x9f2556
or dword [esp + 0x164], 0x7fbede4f
xor dword [esp + 0x164], 0x7fb91cd7
mov dword [esp + 0x12c], 0x91bf10
add dword [esp + 0x12c], 0xf1e0
xor dword [esp + 0x12c], 0x96aff7
mov dword [esp + 0x174], 0xc78af1
shr dword [esp + 0x174], 0xe
xor edx, edx
xor dword [esp + 0x174], 0xf6b83
mov dword [esp + 0x78], 0x62d0ac
mov eax, dword [esp + 0x78]
push 0x7b
pop ecx
div ecx
push 0x45
mov dword [esp + 0x7c], eax
xor edx, edx
add dword [esp + 0x7c], 0x2d33
imul eax, dword [esp + 0x7c], 3
pop ecx
push 0x37
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0xf4642
mov dword [esp + 0xd0], 0x4c9230
add dword [esp + 0xd0], 0x9764
imul eax, dword [esp + 0xd0], 0x25
mov dword [esp + 0xd0], eax
xor dword [esp + 0xd0], 0xb288e88
mov dword [esp + 0xa0], 0x7ed8f3
mov eax, dword [esp + 0xa0]
div ecx
xor edx, edx
mov dword [esp + 0xa0], eax
or dword [esp + 0xa0], 0x4c7b189d
xor dword [esp + 0xa0], 0x4c7c2b2d
mov dword [esp + 0xf0], 0xcf1e43
or dword [esp + 0xf0], 0xcbb8e0eb
mov eax, dword [esp + 0xf0]
pop ecx
div ecx
push 0x30
mov dword [esp + 0xf0], eax
xor edx, edx
xor dword [esp + 0xf0], 0x3b1fa1f
mov dword [esp + 0xa8], 0xd21a1a
shr dword [esp + 0xa8], 0xc
shl dword [esp + 0xa8], 7
xor dword [esp + 0xa8], 0x69a37
mov dword [esp + 0x14], 0x5e6b98
shr dword [esp + 0x14], 0xe
shl dword [esp + 0x14], 5
add dword [esp + 0x14], 0xe85d
xor dword [esp + 0x14], 0x9b083
mov dword [esp + 0x64], 0x371090
mov eax, dword [esp + 0x64]
pop ecx
div ecx
push 0x32
mov dword [esp + 0x64], eax
xor edx, edx
shr dword [esp + 0x64], 0x10
shr dword [esp + 0x64], 4
xor dword [esp + 0x64], 0x45606
mov dword [esp + 0x138], 0x43a8ed
mov eax, dword [esp + 0x138]
pop ecx
div ecx
mov dword [esp + 0x134], eax
xor dword [esp + 0x134], 0xe02b6
mov dword [esp + 0x17c], 0x90c475
or dword [esp + 0x17c], 0xf2fc8737
xor dword [esp + 0x17c], 0xf2f3bc00
mov dword [esp + 0x1c], 0x3d80b6
shr dword [esp + 0x1c], 0xe
imul eax, dword [esp + 0x1c], 0x4a
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], 0xa7cd
xor dword [esp + 0x1c], 0xf49c3
mov dword [esp + 0xac], 0xabcaa5
shr dword [esp + 0xac], 8
xor dword [esp + 0xac], 0xb285f80f
xor dword [esp + 0xac], 0xb28d1758
mov dword [esp + 0xe4], 0x6818a1
imul eax, dword [esp + 0xe4], 0x54
mov dword [esp + 0xe4], eax
xor dword [esp + 0xe4], 0x2a41b489
xor dword [esp + 0xe4], 0x86e9a3b
mov dword [esp + 0x7c], 0x8e2e1a
xor edx, edx
add dword [esp + 0x7c], 0x7525
xor dword [esp + 0x7c], 0xd940059a
or dword [esp + 0x7c], 0x1d3b83f5
xor dword [esp + 0x7c], 0xddf1bb97
mov dword [esp + 0x150], 0x1e60f7
imul eax, dword [esp + 0x150], 0x4d
push 0x5e
pop ecx
push 0x11
mov dword [esp + 0x154], eax
xor dword [esp + 0x154], 0x921d207
mov dword [esp + 0xcc], 0x8c6e46
imul eax, dword [esp + 0xcc], 0x5d
mov dword [esp + 0xcc], eax
imul eax, dword [esp + 0xcc], 0x60
mov dword [esp + 0xcc], eax
xor dword [esp + 0xcc], 0x2184e3b9
mov dword [esp + 0x14c], 0x169e87
add dword [esp + 0x14c], 0xffffc660
xor dword [esp + 0x14c], 0x102e60
mov dword [esp + 0x28], 0x8678b5
mov eax, dword [esp + 0x28]
div ecx
xor edx, edx
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0xffffef4d
or dword [esp + 0x28], 0xd6a326bc
xor dword [esp + 0x28], 0xd6a12515
mov dword [esp + 0xd8], 0xa4b3fb
shr dword [esp + 0xd8], 0x10
shl dword [esp + 0xd8], 0xf
xor dword [esp + 0xd8], 0x51d86f
mov dword [esp + 0x140], 0x6b5258
xor dword [esp + 0x140], 0x23eb7d9c
xor dword [esp + 0x140], 0x2384499b
mov dword [esp + 0x88], 0x5f84af
mov eax, dword [esp + 0x88]
pop ecx
div ecx
push 0x77
mov dword [esp + 0x88], eax
xor edx, edx
add dword [esp + 0x88], 0xffff1ef0
xor dword [esp + 0x88], 0x31793
mov dword [esp + 0x104], 0x83afa1
shl dword [esp + 0x104], 0xf
xor dword [esp + 0x104], 0xd7d33d09
mov dword [esp + 0x150], 0x38b68a
or dword [esp + 0x150], 0x2d8b9270
xor dword [esp + 0x150], 0x2dbf4545
mov dword [esp + 0x30], 0x7f1876
shl dword [esp + 0x30], 6
mov eax, dword [esp + 0x30]
pop ecx
div ecx
push 0x31
mov dword [esp + 0x30], eax
xor edx, edx
shl dword [esp + 0x30], 3
xor dword [esp + 0x30], 0x222a411
mov dword [esp + 0x174], 0x228414
shl dword [esp + 0x174], 0x10
xor dword [esp + 0x174], 0x841bfacb
mov dword [esp + 0xf8], 0x66f39b
mov eax, dword [esp + 0xf8]
pop ecx
div ecx
mov dword [esp + 0xf4], eax
xor dword [esp + 0xf4], 0xc82fc2b6
xor dword [esp + 0xf4], 0xc82f64a7
mov dword [esp + 0x118], 0x13e051
add dword [esp + 0x118], 0x1888
xor dword [esp + 0x118], 0x1e072e
mov dword [esp + 0x3c], 0xc1f992
or dword [esp + 0x3c], 0xbac2e380
shr dword [esp + 0x3c], 0x10
shl dword [esp + 0x3c], 0xb
xor dword [esp + 0x3c], 0x5d00be2
mov dword [esp + 0x34], 0x7bd288
add dword [esp + 0x34], 0xf246
xor edx, edx
add dword [esp + 0x34], 0xffff00c0
mov esi, 0x2891319
xor dword [esp + 0x34], 0x9b6f0031
mov edi, 0x62defb0
xor dword [esp + 0x34], 0x9b1fed1f
mov dword [esp + 0x110], 0x5176f8
add dword [esp + 0x110], 0x9d18
xor dword [esp + 0x110], 0x5cbf2d
mov dword [esp + 0xd8], 0x3d1004
shl dword [esp + 0xd8], 8
xor dword [esp + 0xd8], 0x4da4cba5
xor dword [esp + 0xd8], 0x70b9fc4f
mov dword [esp + 0x158], 0x8400b5
add dword [esp + 0x158], 0xffff056c
xor dword [esp + 0x158], 0x8282f2
mov dword [esp + 0xd0], 0xb6d251
mov eax, dword [esp + 0xd0]
push 0x23
pop ecx
div ecx
push 0x75
mov dword [esp + 0xd4], eax
xor edx, edx
add dword [esp + 0xd4], 0x75d5
xor dword [esp + 0xd4], 0x4865e
mov dword [esp + 0xfc], 0xc08ea4
shl dword [esp + 0xfc], 0xa
add dword [esp + 0xfc], 0xcdd6
xor dword [esp + 0xfc], 0x238b89a
mov dword [esp + 0xec], 0x712ac8
mov eax, dword [esp + 0xec]
pop ecx
div ecx
mov dword [esp + 0xe8], eax
xor dword [esp + 0xe8], 0x38332d5b
xor dword [esp + 0xe8], 0x38328574
mov dword [esp + 0x160], 0x29b23
imul eax, dword [esp + 0x160], 0x2e
mov dword [esp + 0x160], eax
xor dword [esp + 0x160], 0x70fa8b
mov dword [esp + 0xe0], 0xdcea7a
add dword [esp + 0xe0], 0xffff1cfc
shr dword [esp + 0xe0], 6
xor dword [esp + 0xe0], 0x7d604
mov eax, 0xb33d746
mov ecx, 0x7e6daf1
mov edx, 0x2f38294
cmp ebx, 0x9426614
jg 0x64174a
je 0x641740
cmp ebx, esi
je 0x64165a
cmp ebx, edx
je 0x6415c3
cmp ebx, edi
je 0x6418c1
cmp ebx, ecx
jne 0x6418b3
push dword [esp + 0xb0]
mov ecx, 0x6215f4
push dword [esp + 0x158]
mov edx, dword [esp + 0x50]
call fcn.0062adf2
push dword [esp + 0x20]
mov ecx, 0x621644
mov esi, eax
push dword [esp + 0x110]
mov edx, dword [esp + 0x80]
call fcn.0062adf2
mov edi, eax
mov eax, dword [esp + 0x178]
push esi
push dword [esp + 0xf0]
mov dword [esp + 0x1b4], eax
push dword [esp + 0x124]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x3c]
call fcn.00638a0e
and dword [esp + 0x1a8], 0
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1ac], 1
lea eax, [eax*2 + 2]
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x1b4]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0xa8]
push dword [esp + 0x6c]
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x1a0]
push dword [esp + 0x1a0]
push eax
push edi
push dword [esp + 0x140]
push dword [esp + 0xf4]
push dword [esp + 0x5c]
push dword [esp + 0x1a4]
push dword [esp + 0x158]
push dword [esp + 0x1c8]
push dword [esp + 0xd8]
push dword [esp + 0xb0]
call fcn.00629ec2
add esp, 0x4c
mov ecx, eax
mov eax, dword [esp + 0x15c]
mov ebx, 0x62defb0
cmp ecx, eax
mov eax, 0x2f38294
mov ecx, esi
push dword [esp + 0x30]
cmove ebx, eax
push dword [esp + 0x5c]
push dword [esp + 0x40]
mov edx, dword [esp + 0x130]
call fcn.006388a3
push dword [esp + 0x84]
mov ecx, edi
push dword [esp + 0x184]
push dword [esp + 0x140]
mov edx, dword [esp + 0x17c]
call fcn.006388a3
add esp, 0x18
mov edi, 0x62defb0
mov esi, 0x2891319
jmp 0x6418a4
push dword [esp + 0xec]
mov ecx, 0x621594
push dword [esp + 0xa0]
mov edx, dword [esp + 0xd4]
call fcn.0062adf2
pop ecx
pop ecx
push dword [esp + 0x40]
mov esi, eax
lea eax, [esp + 0x184]
push eax
push ecx
push dword [esp + 0x140]
mov ecx, esi
push dword [esp + 0x70]
mov eax, dword [0x646db0]
add eax, 0x6c
push eax
push dword [esp + 0x28]
mov edx, dword [esp + 0xc0]
push dword [esp + 0x1a0]
call fcn.00639011
mov ecx, eax
mov ebx, edi
mov eax, dword [esp + 0x34]
cmp ecx, eax
push dword [esp + 0x104]
mov eax, 0xb33d746
mov ecx, esi
push dword [esp + 0xd0]
cmove ebx, eax
push dword [esp + 0x44]
mov edx, dword [esp + 0x1a8]
call fcn.006388a3
add esp, 0x2c
jmp 0x6415b9
push dword [esp + 0x13c]
mov ecx, 0x621624
push dword [esp + 0xd8]
mov edx, dword [esp + 0x2c]
call fcn.0062adf2
pop ecx
pop ecx
mov esi, eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x144]
push dword [esp + 0x184]
mov dword [esp + 0x1b8], eax
lea eax, [esp + 0x1b0]
push dword [esp + 0xf8]
push eax
mov eax, dword [0x646db0]
add eax, 4
push eax
push esi
push ecx
push dword [esp + 0xd4]
push dword [esp + 0x18c]
push dword [esp + 0x4c]
mov eax, dword [0x646db0]
push ecx
push dword [eax + 0x68]
push dword [esp + 0x178]
push dword [esp + 0x130]
mov edx, dword [0x646db0]
mov ecx, dword [esp + 0xb8]
mov edx, dword [edx + 0x6c]
call fcn.0063e45e
add esp, 0x34
cmp eax, dword [esp + 0x108]
jne 0x641716
xor ebp, ebp
mov ebx, edi
inc ebp
jmp 0x64171b
mov ebx, 0x95bcad1
push dword [esp + 0x110]
mov ecx, esi
push dword [esp + 0x38]
push dword [esp + 0x44]
mov edx, dword [esp + 0x124]
call fcn.006388a3
add esp, 0xc
jmp 0x6415b9
mov ebx, 0xb3bc24d
jmp 0x64141e
cmp ebx, 0x95bcad1
je 0x64187d
cmp ebx, eax
je 0x64183c
cmp ebx, 0xb3bc24d
jne 0x6418b3
push dword [esp + 0x120]
mov ecx, 0x621684
push dword [esp + 0x48]
mov edx, dword [esp + 0x90]
call fcn.0062adf2
push dword [esp + 0x130]
mov ecx, 0x6215b4
mov esi, eax
push dword [esp + 0x58]
mov edx, dword [esp + 0x140]
call fcn.0062adf2
push esi
push dword [esp + 0xa4]
mov edi, eax
lea eax, [esp + 0x19c]
push dword [esp + 0xb0]
mov ecx, edi
push dword [esp + 0x70]
push eax
push dword [esp + 0xc4]
mov edx, dword [esp + 0x84]
call fcn.0063ded2
mov ecx, eax
mov ebx, 0x756ce59
mov eax, dword [esp + 0x8c]
cmp ecx, eax
push dword [esp + 0x94]
mov eax, 0x7e6daf1
mov ecx, esi
push dword [esp + 0x164]
cmove ebx, eax
push dword [esp + 0x170]
mov edx, dword [esp + 0xdc]
call fcn.006388a3
push dword [esp + 0xb4]
mov ecx, edi
push dword [esp + 0xf0]
push dword [esp + 0xfc]
mov edx, dword [esp + 0xb4]
call fcn.006388a3
add esp, 0x40
jmp 0x6415b4
mov eax, dword [esp + 0x148]
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + 0x150]
mov eax, dword [esp + 0x7c]
mov eax, dword [0x646db0]
push dword [eax + 0x6c]
push ecx
push ecx
call fcn.0062ed0b
mov ecx, eax
add esp, 0xc
mov eax, dword [0x646db0]
test ecx, ecx
mov ebx, edi
cmovne ebx, esi
mov dword [eax + 0x68], ecx
jmp 0x64140f
push dword [esp + 0xd0]
push dword [esp + 0x15c]
mov edx, dword [0x646db0]
mov ecx, dword [esp + 0xe0]
mov edx, dword [edx + 0x68]
call fcn.0062e6a1
pop ecx
pop ecx
mov ebx, edi
mov eax, 0xb33d746
mov ecx, 0x7e6daf1
mov edx, 0x2f38294
cmp ebx, 0x756ce59
jne 0x64141e
jmp 0x6418f3
push dword [esp + 0xe0]
push dword [esp + 0x188]
push dword [esp + 0x168]
push dword [esp + 0xf4]
mov edx, dword [esp + 0x100]
mov ecx, dword [esp + 0x108]
call fcn.0063eb87
add esp, 0x10
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x1c8
ret