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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x298
and dword [esp + 0x20c], 0
xor edx, edx
and dword [esp + 0x210], 0
mov dword [esp + 0x204], 0x585f78
mov dword [esp + 0x208], 0x8b1386
mov dword [esp + 0xb8], 0xd05698
or dword [esp + 0xb8], 0xa7831dd8
mov eax, dword [esp + 0xb8]
push ebx
push ebp
push esi
push edi
push 0x5d
pop ecx
div ecx
push 0x2d
mov dword [esp + 0xcc], eax
xor edx, edx
xor dword [esp + 0xcc], 0x1cdf9c7
mov esi, 0x48c97d6
mov dword [esp + 0x30], 0x869538
or dword [esp + 0x30], 0x58be54fc
add dword [esp + 0x30], 0xffff4fd1
shl dword [esp + 0x30], 2
xor dword [esp + 0x30], 0x62f89734
mov dword [esp + 0x1f0], 0x82a86e
shl dword [esp + 0x1f0], 8
xor dword [esp + 0x1f0], 0x82a86e00
mov dword [esp + 0xec], 0x7e9329
or dword [esp + 0xec], 0x75a7c476
add dword [esp + 0xec], 0xffff19d2
xor dword [esp + 0xec], 0x75f612a5
mov dword [esp + 0x120], 0x73cf61
or dword [esp + 0x120], 0xa0ad4d0b
shr dword [esp + 0x120], 5
xor dword [esp + 0x120], 0x5099930
mov dword [esp + 0x94], 0x9821f3
or dword [esp + 0x94], 0x3b241c00
shr dword [esp + 0x94], 9
mov eax, dword [esp + 0x94]
pop ecx
div ecx
push 0x61
mov dword [esp + 0x94], eax
xor edx, edx
xor dword [esp + 0x94], 0x72b76
mov dword [esp + 0x84], 0x92dc7b
mov eax, dword [esp + 0x84]
pop ecx
div ecx
push 0x50
mov dword [esp + 0x84], eax
add dword [esp + 0x84], 0xffff270c
shr dword [esp + 0x84], 2
xor dword [esp + 0x84], 0xaaeb4
mov dword [esp + 0x1bc], 0xda6d7a
add dword [esp + 0x1bc], 0xffffcf6d
xor dword [esp + 0x1bc], 0xd13b16
mov dword [esp + 0x98], 0x964436
add dword [esp + 0x98], 0xc92e
add dword [esp + 0x98], 0x7cec
add dword [esp + 0x98], 0xffff4009
xor dword [esp + 0x98], 0x9de818
mov dword [esp + 0x1a0], 0x4db1b7
add dword [esp + 0x1a0], 0xd3fa
xor dword [esp + 0x1a0], 0x4150ff
mov dword [esp + 0xf0], 0xd42e6e
shl dword [esp + 0xf0], 8
or dword [esp + 0xf0], 0x321c08b1
xor dword [esp + 0xf0], 0xf633d973
mov dword [esp + 0xf8], 0xdda6ff
xor dword [esp + 0xf8], 0xe88b90fb
imul eax, dword [esp + 0xf8], 0x5e
mov dword [esp + 0xf8], eax
xor dword [esp + 0xf8], 0x4fad4c06
mov dword [esp + 0x1b8], 0xd39131
xor dword [esp + 0x1b8], 0x59357490
xor dword [esp + 0x1b8], 0x59e88c4e
xor edx, edx
mov dword [esp + 0xa8], 0xbc3f65
mov eax, dword [esp + 0xa8]
pop edi
div edi
push 0x35
mov dword [esp + 0xa8], eax
xor edx, edx
shr dword [esp + 0xa8], 0xb
imul eax, dword [esp + 0xa8], 0x6a
pop ecx
push 0x3e
mov dword [esp + 0xa8], eax
xor dword [esp + 0xa8], 0x445c0
mov dword [esp + 0x100], 0x258210
shr dword [esp + 0x100], 7
add dword [esp + 0x100], 0xffffa0a4
xor dword [esp + 0x100], 0xfffb2e05
mov dword [esp + 0x144], 0x6567e7
imul eax, dword [esp + 0x144], 0x44
mov dword [esp + 0x144], eax
add dword [esp + 0x144], 0xffffa8e1
xor dword [esp + 0x144], 0x1ae4a185
mov dword [esp + 0x124], 0x87abb4
xor dword [esp + 0x124], 0xe1d34346
add dword [esp + 0x124], 0xffff7294
xor dword [esp + 0x124], 0xe153da55
mov dword [esp + 0x1e4], 0x5b36f
shr dword [esp + 0x1e4], 9
xor dword [esp + 0x1e4], 0x6d7f3
mov dword [esp + 0x20], 0xe08f20
add dword [esp + 0x20], 0xc5a5
mov eax, dword [esp + 0x20]
div ecx
xor edx, edx
mov dword [esp + 0x20], eax
imul eax, dword [esp + 0x20], 0x76
pop ecx
push 0x42
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0x1fc5399
mov dword [esp + 0x1a8], 0xfc8dfc
shl dword [esp + 0x1a8], 0xb
xor dword [esp + 0x1a8], 0xe466c81e
mov dword [esp + 0x104], 0x7b0fc8
shl dword [esp + 0x104], 0xc
xor dword [esp + 0x104], 0x919bd458
xor dword [esp + 0x104], 0x21665b45
mov dword [esp + 0x1b0], 0x9b1477
xor dword [esp + 0x1b0], 0xa7378dfd
xor dword [esp + 0x1b0], 0xa7abcc2b
mov dword [esp + 0xe8], 0xf1b21a
imul eax, dword [esp + 0xe8], 0x6c
mov dword [esp + 0xe8], eax
shr dword [esp + 0xe8], 0xf
xor dword [esp + 0xe8], 0x23159
mov dword [esp + 0xa0], 0x80b354
add dword [esp + 0xa0], 0x43a5
mov eax, dword [esp + 0xa0]
div ecx
xor edx, edx
mov dword [esp + 0xa0], eax
shr dword [esp + 0xa0], 0x10
xor dword [esp + 0xa0], 0x7ec26
mov dword [esp + 0x1c0], 0x887618
shr dword [esp + 0x1c0], 9
xor dword [esp + 0x1c0], 0xc66d5
mov dword [esp + 0x158], 0xfdf69a
add dword [esp + 0x158], 0xffffae5a
xor dword [esp + 0x158], 0xf88644
mov dword [esp + 0x1b4], 0xbe216b
add dword [esp + 0x1b4], 0xffff6388
xor dword [esp + 0x1b4], 0xbb5707
mov dword [esp + 0x140], 0x7b3ea9
shr dword [esp + 0x140], 6
or dword [esp + 0x140], 0x49c4cda4
xor dword [esp + 0x140], 0x49c92824
mov dword [esp + 0x138], 0xa5a6dd
or dword [esp + 0x138], 0xdaac68b6
mov eax, dword [esp + 0x138]
pop ecx
div ecx
mov dword [esp + 0x134], eax
xor dword [esp + 0x134], 0x3594e9d
mov dword [esp + 0x1f0], 0xd729c
xor edx, edx
shl dword [esp + 0x1f0], 2
xor dword [esp + 0x1f0], 0x345abf
mov dword [esp + 0x1a8], 0xd504d2
xor dword [esp + 0x1a8], 0xe1a41ad5
xor dword [esp + 0x1a8], 0xe17e3c09
mov dword [esp + 0x118], 0x35379b
shl dword [esp + 0x118], 2
add dword [esp + 0x118], 0x5909
xor dword [esp + 0x118], 0xd17b8a
mov dword [esp + 0x168], 0xc8fc16
add dword [esp + 0x168], 0xffffa91f
xor dword [esp + 0x168], 0xc2a98e
mov dword [esp + 0x150], 0x957303
mov eax, dword [esp + 0x150]
push 0x46
pop ecx
div ecx
push 0x15
mov dword [esp + 0x154], eax
xor edx, edx
xor dword [esp + 0x154], 0x13a42
mov dword [esp + 0x7c], 0x6f213c
shl dword [esp + 0x7c], 1
imul eax, dword [esp + 0x7c], 0x7e
pop ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
div ecx
mov dword [esp + 0x78], eax
xor dword [esp + 0x78], 0x5389056
mov dword [esp + 0x40], 0xda2a87
shr dword [esp + 0x40], 1
or dword [esp + 0x40], 0x1b17c7ec
imul eax, dword [esp + 0x40], 0x58
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x73f3706a
mov dword [esp + 0x48], 0x43fe6e
add dword [esp + 0x48], 0xffffa5b3
imul eax, dword [esp + 0x48], 0x5e
mov dword [esp + 0x48], eax
imul eax, dword [esp + 0x48], 0x48
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0xfc4f4f3f
mov dword [esp + 0x1e4], 0xca1fa8
add dword [esp + 0x1e4], 0xffff9090
xor dword [esp + 0x1e4], 0xc76fdd
mov dword [esp + 0xd0], 0x3cfd
add dword [esp + 0xd0], 0xffff5e10
imul eax, dword [esp + 0xd0], 0x17
mov dword [esp + 0xd0], eax
xor dword [esp + 0xd0], 0xfff3a141
mov dword [esp + 0x148], 0x8f4378
add dword [esp + 0x148], 0xffff823c
or dword [esp + 0x148], 0xd2d05931
xor dword [esp + 0x148], 0xd2d5298c
mov dword [esp + 0x170], 0x65d44c
imul eax, dword [esp + 0x170], 0xd
mov dword [esp + 0x170], eax
xor dword [esp + 0x170], 0x52f5dd9
mov dword [esp + 0xd8], 0x37fadc
shl dword [esp + 0xd8], 0xd
add dword [esp + 0xd8], 0xffffcf7b
xor dword [esp + 0xd8], 0xff57fcbb
mov dword [esp + 0x110], 0xfecd39
imul eax, dword [esp + 0x110], 0x33
mov dword [esp + 0x110], eax
add dword [esp + 0x110], 0x665
xor dword [esp + 0x110], 0x32c58650
mov dword [esp + 0x178], 0xb12fac
xor dword [esp + 0x178], 0x72df1fbd
xor dword [esp + 0x178], 0x7260b039
mov dword [esp + 0xa0], 0x7c61ae
shl dword [esp + 0xa0], 2
or dword [esp + 0xa0], 0x19ce07de
add dword [esp + 0xa0], 0x1864
xor dword [esp + 0xa0], 0x19faaa82
mov dword [esp + 0x1c0], 0x6c04e0
shl dword [esp + 0x1c0], 9
xor dword [esp + 0x1c0], 0xd8089482
mov dword [esp + 0xe0], 0x4b1d34
xor edx, edx
shl dword [esp + 0xe0], 3
or dword [esp + 0xe0], 0xe0aece32
xor dword [esp + 0xe0], 0xe2f59919
mov dword [esp + 0x50], 0xc2ddc
shr dword [esp + 0x50], 2
shr dword [esp + 0x50], 5
mov eax, dword [esp + 0x50]
push 0x34
pop ebp
div ebp
push 9
mov dword [esp + 0x54], eax
xor edx, edx
xor dword [esp + 0x54], 0xd2c77
mov dword [esp + 0x134], 0x3f3994
xor dword [esp + 0x134], 0x64eadd87
shl dword [esp + 0x134], 0xe
xor dword [esp + 0x134], 0x790466d7
mov dword [esp + 0x5c], 0x2b1ad3
mov eax, dword [esp + 0x5c]
pop ecx
div ecx
push 0x6c
mov dword [esp + 0x5c], eax
xor edx, edx
shl dword [esp + 0x5c], 3
add dword [esp + 0x5c], 0xffff8013
xor dword [esp + 0x5c], 0x280eec
mov dword [esp + 0x1cc], 0x1d3b29
add dword [esp + 0x1cc], 0xffffb6c6
xor dword [esp + 0x1cc], 0x13cab4
mov dword [esp + 0x184], 0x9a9568
xor dword [esp + 0x184], 0x94a09f9a
xor dword [esp + 0x184], 0x9435818e
mov dword [esp + 0xf4], 0xa7702a
or dword [esp + 0xf4], 0x20cf78cf
add dword [esp + 0xf4], 0xffff3395
xor dword [esp + 0xf4], 0x20ed17e8
mov dword [esp + 0x9c], 0x87e232
mov eax, dword [esp + 0x9c]
pop ecx
div ecx
push 0x14
mov dword [esp + 0x9c], eax
xor edx, edx
shr dword [esp + 0x9c], 0xa
shl dword [esp + 0x9c], 2
xor dword [esp + 0x9c], 0xe7201
mov dword [esp + 0x15c], 0xdcec6c
mov eax, dword [esp + 0x15c]
pop ecx
div ecx
push 0xa
mov dword [esp + 0x15c], eax
xor edx, edx
xor dword [esp + 0x15c], 0xca7e9
mov dword [esp + 0x2c], 0x5b87bf
xor dword [esp + 0x2c], 0xaade2055
imul eax, dword [esp + 0x2c], 0x1d
pop ecx
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x54
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x9fdfa23f
mov dword [esp + 0x68], 0x40dc39
add dword [esp + 0x68], 0xffff3364
shr dword [esp + 0x68], 0xd
mov eax, dword [esp + 0x68]
div ecx
mov dword [esp + 0x68], eax
xor dword [esp + 0x68], 0xae1bd
mov dword [esp + 0x128], 0xec15bd
shl dword [esp + 0x128], 3
xor dword [esp + 0x128], 0x1d523cb5
xor dword [esp + 0x128], 0x1a387891
mov dword [esp + 0xdc], 0x218150
add dword [esp + 0xdc], 0xd5c7
add dword [esp + 0xdc], 0xffffdae5
xor dword [esp + 0xdc], 0x2921e7
mov dword [esp + 0x114], 0xee887d
xor edx, edx
mov eax, dword [esp + 0x114]
push 0x3a
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x114], eax
add dword [esp + 0x114], 0x677
xor dword [esp + 0x114], 0xdad45
mov dword [esp + 0x1cc], 0xa3a0f6
imul eax, dword [esp + 0x1cc], 0x61
push 0x31
pop ecx
push 0x39
pop ebx
mov dword [esp + 0x1cc], eax
xor dword [esp + 0x1cc], 0x3dfd4c20
mov dword [esp + 0x194], 0x598259
mov eax, dword [esp + 0x194]
div ecx
xor edx, edx
mov dword [esp + 0x194], eax
xor dword [esp + 0x194], 0xa54ec
mov dword [esp + 0x12c], 0xae49f9
or dword [esp + 0x12c], 0x7bcef690
add dword [esp + 0x12c], 0xffffdf01
xor dword [esp + 0x12c], 0x7bec9d9e
mov dword [esp + 0x124], 0xe37485
add dword [esp + 0x124], 0xffff334a
mov eax, dword [esp + 0x124]
div ebx
xor edx, edx
mov dword [esp + 0x124], eax
xor dword [esp + 0x124], 0x57aa4
mov dword [esp + 0xac], 0x277acb
xor dword [esp + 0xac], 0x71d6139c
mov eax, dword [esp + 0xac]
div edi
push 0x12
mov dword [esp + 0xb0], eax
xor edx, edx
add dword [esp + 0xb0], 0xffff6ca5
xor dword [esp + 0xb0], 0x160563d
mov dword [esp + 0x8c], 0x214204
add dword [esp + 0x8c], 0xb41a
xor dword [esp + 0x8c], 0x5565b100
shr dword [esp + 0x8c], 3
xor dword [esp + 0x8c], 0xaa74d79
mov dword [esp + 0x1d8], 0x8e5863
xor dword [esp + 0x1d8], 0xcf0bca66
xor dword [esp + 0x1d8], 0xcf8c259a
mov dword [esp + 0xd8], 0x5641a0
add dword [esp + 0xd8], 0xffff8f2a
xor dword [esp + 0xd8], 0x6008c0ef
xor dword [esp + 0xd8], 0x6058a0d6
mov dword [esp + 0x1c], 0x41f30e
shl dword [esp + 0x1c], 2
imul eax, dword [esp + 0x1c], 0x11
pop ecx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0xd28814ba
xor dword [esp + 0x18], 0xc308209a
mov dword [esp + 0xf8], 0x5c256
shl dword [esp + 0xf8], 9
add dword [esp + 0xf8], 0xffff1d80
xor dword [esp + 0xf8], 0xb8dcd7e
mov dword [esp + 0x198], 0xd525
mov eax, dword [esp + 0x198]
div ecx
mov dword [esp + 0x198], eax
xor dword [esp + 0x198], 0x79e04
mov dword [esp + 0x138], 0x63388b
or dword [esp + 0x138], 0x31fb6f09
add dword [esp + 0x138], 0xffff846a
xor dword [esp + 0x138], 0x31fda97b
mov dword [esp + 0x1d8], 0xf98d81
add dword [esp + 0x1d8], 0xffff4350
xor dword [esp + 0x1d8], 0xfcf60f
mov dword [esp + 0x1e8], 0x666ed4
or dword [esp + 0x1e8], 0x3c7aea22
xor dword [esp + 0x1e8], 0x3c703f69
xor edx, edx
mov dword [esp + 0xcc], 0xc3bac
imul eax, dword [esp + 0xcc], 0x59
push 0x30
pop ecx
push 0x61
mov dword [esp + 0xd0], eax
shr dword [esp + 0xd0], 4
xor dword [esp + 0xd0], 0x443b68
mov dword [esp + 0xc8], 0xf24cef
shr dword [esp + 0xc8], 0xc
shl dword [esp + 0xc8], 3
xor dword [esp + 0xc8], 0xb223e
mov dword [esp + 0xc0], 0x686735
or dword [esp + 0xc0], 0x2e24976c
imul eax, dword [esp + 0xc0], 0x74
mov dword [esp + 0xc0], eax
xor dword [esp + 0xc0], 0x96bd7eb
mov dword [esp + 0x190], 0x558a03
add dword [esp + 0x190], 0xda8c
xor dword [esp + 0x190], 0x5edd96
mov dword [esp + 0x80], 0xa33f45
shr dword [esp + 0x80], 3
shr dword [esp + 0x80], 1
mov eax, dword [esp + 0x80]
div ecx
xor edx, edx
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0xad3d
mov dword [esp + 0x78], 0xd75f0c
xor dword [esp + 0x78], 0x7141a19b
xor dword [esp + 0x78], 0x34e7e688
mov eax, dword [esp + 0x78]
pop ecx
div ecx
push 0x11
mov dword [esp + 0x78], eax
xor edx, edx
xor dword [esp + 0x78], 0xbea3c4
mov dword [esp + 0x70], 0x78f1e0
add dword [esp + 0x70], 0x6d80
or dword [esp + 0x70], 0x2ff0b4
xor dword [esp + 0x70], 0xb58ac39
xor dword [esp + 0x70], 0xb25effb
mov dword [esp + 0xb4], 0xfcde9d
add dword [esp + 0xb4], 0x2207
shr dword [esp + 0xb4], 1
xor dword [esp + 0xb4], 0x7545ac
mov dword [esp + 0x168], 0xdc00e1
shl dword [esp + 0x168], 0xe
xor dword [esp + 0x168], 0x328523
mov dword [esp + 0x28], 0x865c5b
add dword [esp + 0x28], 0xffff6e88
mov eax, dword [esp + 0x28]
pop ecx
div ecx
push 0x27
mov dword [esp + 0x28], eax
xor edx, edx
add dword [esp + 0x28], 0xffff94e8
xor dword [esp + 0x28], 0xb2f4
mov dword [esp + 0x160], 0x3d8860
shr dword [esp + 0x160], 3
xor dword [esp + 0x160], 0x7b422
mov dword [esp + 0x50], 0xfda0d6
imul eax, dword [esp + 0x50], 0xc
pop ecx
mov dword [esp + 0x4c], eax
imul eax, dword [esp + 0x4c], 0x64
mov dword [esp + 0x4c], eax
add dword [esp + 0x4c], 0x1ce7
xor dword [esp + 0x4c], 0xa4e1b038
mov dword [esp + 0x44], 0x422ef9
shl dword [esp + 0x44], 8
shl dword [esp + 0x44], 4
mov eax, dword [esp + 0x44]
div ecx
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0xe22b4d
mov dword [esp + 0x3c], 0x73b8f8
shl dword [esp + 0x3c], 0xf
xor edx, edx
imul eax, dword [esp + 0x3c], 0x6d
push 0x59
pop edi
push 3
pop ecx
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0xffff549e
xor dword [esp + 0x3c], 0xe0cb186a
mov dword [esp + 0x34], 0x5efe0d
shr dword [esp + 0x34], 4
add dword [esp + 0x34], 0xffff564c
mov eax, dword [esp + 0x34]
div edi
xor edx, edx
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0xdd097
mov dword [esp + 0x54], 0xf2d5c5
mov eax, dword [esp + 0x54]
div ecx
xor edx, edx
mov dword [esp + 0x54], eax
add dword [esp + 0x54], 0xc54f
add dword [esp + 0x54], 0xc6a6
xor dword [esp + 0x54], 0x591152
mov dword [esp + 0x184], 0xcdea48
mov eax, dword [esp + 0x184]
push 0x6e
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x184], eax
xor dword [esp + 0x184], 0x2183a
mov dword [esp + 0x17c], 0x825e3
add dword [esp + 0x17c], 0x360f
xor dword [esp + 0x17c], 0xe5ea4
mov dword [esp + 0xb4], 0xf76663
imul eax, dword [esp + 0xb4], 0x11
push 0xe
pop ecx
push 0x3f
mov dword [esp + 0xb8], eax
shr dword [esp + 0xb8], 0xc
xor dword [esp + 0xb8], 0x702ad
mov dword [esp + 0x1d4], 0x8de523
mov eax, dword [esp + 0x1d4]
div ecx
xor edx, edx
mov dword [esp + 0x1d4], eax
xor dword [esp + 0x1d4], 0x6e357
mov dword [esp + 0x194], 0x8c1a1f
shr dword [esp + 0x194], 4
xor dword [esp + 0x194], 0xf049e
mov dword [esp + 0x18], 0x241f6
shl dword [esp + 0x18], 5
add dword [esp + 0x18], 0x3cb9
add dword [esp + 0x18], 0xb89d
xor dword [esp + 0x18], 0x4c2d95
mov dword [esp + 0x150], 0xf7596d
mov eax, dword [esp + 0x150]
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x14c], eax
add dword [esp + 0x14c], 0xffff98ed
xor dword [esp + 0x14c], 0x7b4d5
mov dword [esp + 0x20], 0xb73a2d
mov eax, dword [esp + 0x20]
push 5
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0x2a3177c0
mov eax, dword [esp + 0x20]
div ebx
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0xb34a47
mov dword [esp + 0x1c4], 0xf53da0
add dword [esp + 0x1c4], 0xffff3c37
xor dword [esp + 0x1c4], 0xfb3bb6
xor edx, edx
mov dword [esp + 0x104], 0xa35bc3
shl dword [esp + 0x104], 2
or dword [esp + 0x104], 0x98950b61
xor dword [esp + 0x104], 0x9a98aa90
mov dword [esp + 0xc0], 0xa95691
xor dword [esp + 0xc0], 0xe92806a6
add dword [esp + 0xc0], 0x944f
xor dword [esp + 0xc0], 0xe98d2584
mov dword [esp + 0xa8], 0x1c74d1
xor dword [esp + 0xa8], 0x8611bc30
shl dword [esp + 0xa8], 7
add dword [esp + 0xa8], 0xffff06d9
xor dword [esp + 0xa8], 0x6ea0331
mov dword [esp + 0x38], 0xecffe
xor dword [esp + 0x38], 0x7e2415e0
mov eax, dword [esp + 0x38]
push 0x69
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x38], eax
shr dword [esp + 0x38], 3
xor dword [esp + 0x38], 0x2a75df
mov dword [esp + 0x70], 0xad2a79
xor dword [esp + 0x70], 0xb5b5ebbf
add dword [esp + 0x70], 0xffff8e83
mov eax, dword [esp + 0x70]
div ebp
push 0x2a
mov dword [esp + 0x74], eax
xor edx, edx
xor dword [esp + 0x74], 0x37458e5
mov dword [esp + 0x34], 0xa856ce
shl dword [esp + 0x34], 9
mov eax, dword [esp + 0x34]
pop ecx
div ecx
push 0x2c
mov dword [esp + 0x34], eax
xor edx, edx
xor dword [esp + 0x34], 0x3888ebce
xor dword [esp + 0x34], 0x39677c8e
mov dword [esp + 0x10c], 0xbbffc7
mov eax, dword [esp + 0x10c]
pop ecx
div ecx
push 0x54
mov dword [esp + 0x10c], eax
xor edx, edx
shl dword [esp + 0x10c], 0x10
xor dword [esp + 0x10c], 0x45da3bc6
mov dword [esp + 0x164], 0xa3ba48
imul eax, dword [esp + 0x164], 0xe
pop ecx
mov dword [esp + 0x160], eax
xor dword [esp + 0x160], 0x8f6a8d3
mov dword [esp + 0xb8], 0x7ee5e7
xor dword [esp + 0xb8], 0x86d6892c
xor dword [esp + 0xb8], 0x86a8dc80
mov dword [esp + 0x144], 0x7693d4
add dword [esp + 0x144], 0x86ae
mov eax, dword [esp + 0x144]
div ecx
mov dword [esp + 0x144], eax
xor dword [esp + 0x144], 0x5828a
mov dword [esp + 0x1dc], 0xd8dea1
add dword [esp + 0x1dc], 0xffff9320
xor dword [esp + 0x1dc], 0x1ec146b
mov dword [esp + 0x10c], 0x610844
add dword [esp + 0x10c], 0x8b59
add dword [esp + 0x10c], 0xffff4c69
xor dword [esp + 0x10c], 0x60c716
mov dword [esp + 0x1a0], 0xab1a99
shl dword [esp + 0x1a0], 0xc
xor dword [esp + 0x1a0], 0xb1a99001
mov dword [esp + 0x60], 0x645476
xor dword [esp + 0x60], 0x38d1dec
xor edx, edx
mov eax, dword [esp + 0x60]
push 0x47
pop ecx
div ecx
xor edx, edx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x60], eax
mov ebp, 0xecf3f33
imul eax, dword [esp + 0x60], 0x72
push 0x19
pop ecx
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x647bc8c
mov dword [esp + 0x188], 0x675bbc
shl dword [esp + 0x188], 0xa
xor dword [esp + 0x188], 0x9d6eef40
mov dword [esp + 0x84], 0xc061e6
shr dword [esp + 0x84], 2
shl dword [esp + 0x84], 1
imul eax, dword [esp + 0x84], 9
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x36c0322
mov dword [esp + 0x16c], 0x8a10d5
or dword [esp + 0x16c], 0x7ac66625
xor dword [esp + 0x16c], 0x7ac3cd55
mov dword [esp + 0x8c], 0x62307f
or dword [esp + 0x8c], 0xf9b92014
mov eax, dword [esp + 0x8c]
div ecx
xor edx, edx
mov dword [esp + 0x8c], eax
add dword [esp + 0x8c], 0xffff83f2
xor dword [esp + 0x8c], 0x9f1a68f
mov dword [esp + 0x174], 0xba3ebd
shl dword [esp + 0x174], 5
xor dword [esp + 0x174], 0x17492380
mov dword [esp + 0x5c], 0x1fdcc4
shl dword [esp + 0x5c], 6
shr dword [esp + 0x5c], 0x10
mov eax, dword [esp + 0x5c]
div edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x5c], eax
xor dword [esp + 0x5c], 0x7526
mov dword [esp + 0x64], 0xc39293
shr dword [esp + 0x64], 5
shl dword [esp + 0x64], 0xb
imul eax, dword [esp + 0x64], 0x66
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x7b172a60
cmp esi, 0x7c1887a
jg 0x314484
je 0x314467
cmp esi, 0x4f9319b
jg 0x3142a3
je 0x31428b
cmp esi, 0x2a261ea
jg 0x314151
je 0x3140f1
cmp esi, 0x5292f7
je 0x3140b5
cmp esi, 0xec26f4
je 0x314093
cmp esi, 0xfbc1d7
je 0x31404c
cmp esi, 0x1d7031f
jne 0x314897
mov eax, dword [esp + 0x1b8]
call fcn.00311018
test eax, eax
je 0x3148d5
mov esi, 0x8c4348e
jmp 0x313fd3
push dword [esp + 0x18]
lea eax, [esp + 0x208]
push dword [esp + 0xd8]
lea edx, [esp + 0x258]
push eax
push dword [esp + 0x1e0]
mov ecx, dword [esp + 0x98]
call fcn.00316097
add esp, 0x10
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfab9e4f1
add esi, 0xbb3b2a3
jmp 0x313fd3
mov edx, dword [esp + 0x20]
push dword [esp + 0x20c]
mov ecx, dword [esp + 0x150]
call fcn.0030768d
pop ecx
mov esi, 0xbb3b2a3
jmp 0x313fd3
mov eax, dword [esp + 0x158]
call fcn.0030c001
push dword [esp + 0x128]
mov ecx, eax
mov dword [esp + 0x2a0], eax
push dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
call fcn.0030e693
pop ecx
pop ecx
mov dword [esp + 0x2a0], eax
mov esi, 0xa0f688e
jmp 0x313fd3
cmp edi, dword [esp + 0x1ec]
je 0x31414a
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0xc0]
call fcn.0030e35a
push dword [esp + 0x108]
mov ecx, eax
push edi
push dword [esp + 0x38]
push dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
call fcn.003058b9
add esp, 0x10
cmp eax, dword [esp + 0xc8]
je 0x31413e
mov esi, 0x2b0b859
jmp 0x313fd3
mov eax, dword [esp + 0x160]
call fcn.0031e2b1
mov esi, ebx
jmp 0x314897
cmp esi, 0x2af2952
je 0x3141a1
cmp esi, 0x2b0b859
je 0x3148a5
cmp esi, 0x2b152e7
je 0x314183
cmp esi, 0x48c97d6
jne 0x314897
mov esi, 0x5d9acf6
jmp 0x313fd3
mov eax, dword [esp + 0x90]
call fcn.0031dd4c
test eax, eax
je 0x3148d5
mov esi, 0x65f58ca
jmp 0x313fd3
lea eax, [esp + 0x200]
push eax
push 0x301548
push dword [esp + 0x48]
push dword [esp + 0x84]
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x178]
call fcn.0031b8ff
mov dword [esp + 0x20c], eax
lea eax, [esp + 0x208]
push eax
push 0x3014d8
push dword [esp + 0x160]
push dword [esp + 0xec]
mov edx, dword [esp + 0x204]
mov ecx, dword [esp + 0x68]
call fcn.0031b8ff
mov dword [esp + 0x214], eax
lea eax, [esp + 0x21c]
push eax
lea eax, [esp + 0x218]
push eax
push dword [esp + 0x138]
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x19c]
call fcn.0031bbb0
add esp, 0x2c
mov esi, eax
neg esi
sbb esi, esi
push dword [esp + 0x1c0]
mov edx, dword [esp + 0xa4]
and esi, 0xfe9d8b89
push dword [esp + 0x1f8]
mov ecx, dword [esp + 0x180]
add esi, 0x8da0556
call fcn.0030c5d7
push dword [esp + 0x138]
mov edx, dword [esp + 0x5c]
push dword [esp + 0x208]
mov ecx, dword [esp + 0xf0]
call fcn.0030c5d7
add esp, 0x10
jmp 0x314897
mov eax, dword [esp + 0x1dc]
mov esi, 0xea8522e
mov dword [esp + 0x284], eax
jmp 0x313fd3
cmp esi, 0x65f58ca
jg 0x31434e
je 0x314330
cmp esi, 0x5bb6790
je 0x31430d
cmp esi, 0x5d9acf6
je 0x3142ef
cmp esi, 0x5f66e90
je 0x3148b3
cmp esi, 0x629cb8b
jne 0x314897
mov eax, dword [esp + 0x118]
call fcn.0031f212
mov esi, 0x2af2952
jmp 0x313fd3
mov eax, dword [esp + 0xe8]
call fcn.00315d9b
test eax, eax
je 0x3148d5
mov esi, 0xfe505d0
jmp 0x313fd3
mov eax, dword [esp + 0x140]
call fcn.0031f89b
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfe34e616
add esi, 0x7c1887a
jmp 0x313fd3
mov eax, dword [esp + 0x80]
call fcn.0030ec80
test eax, eax
je 0x3148d5
mov esi, 0x1d7031f
jmp 0x313fd3
cmp esi, 0x66d9794
je 0x314409
cmp esi, 0x6b290e4
je 0x3143df
cmp esi, 0x6ce43f9
je 0x3143c2
cmp esi, 0x77790df
jne 0x314897
mov eax, dword [esp + 0x58]
call fcn.0030ec80
mov eax, dword [esp + 0x98]
mov ebx, 0x5292f7
mov eax, dword [esp + 0xf0]
mov eax, dword [esp + 0x180]
mov eax, dword [esp + 0x1c8]
push dword [esp + 0x60]
mov ecx, dword [esp + 0x18c]
sub esp, 0xc
call fcn.0030e363
add esp, 0x10
mov edi, eax
mov esi, 0x2a261ea
jmp 0x313fd3
mov eax, dword [esp + 0x1e0]
mov eax, dword [esp + 0x120]
call fcn.0030c0fc
mov esi, 0x8941b17
jmp 0x313fd3
mov eax, dword [esp + 0x190]
mov eax, dword [esp + 0x1d0]
call fcn.0030a20b
test eax, eax
jne 0x3143ff
mov eax, dword [esp + 0x14]
call fcn.0031d135
mov esi, 0xec26f4
jmp 0x313fd3
mov eax, dword [esp + 0x198]
mov eax, dword [esp + 0xf8]
call fcn.0030e35a
lea ecx, [esp + 0x20c]
push ecx
push dword [esp + 0x1ec]
lea edx, [esp + 0x20c]
push dword [esp + 0x1a8]
push dword [esp + 0x1e4]
mov ecx, dword [esp + 0x148]
push eax
call fcn.00302709
add esp, 0x14
mov esi, eax
neg esi
sbb esi, esi
and esi, 0x4cc7c20
add esi, 0x66d9794
jmp 0x313fd3
mov eax, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1f0]
call fcn.0031f7a2
mov esi, 0x629cb8b
jmp 0x313fd3
cmp esi, 0xbab40ff
jg 0x314704
je 0x3146ee
cmp esi, 0x8b45b05
jg 0x3145c0
je 0x31451a
cmp esi, 0x7dd5725
je 0x3148c9
cmp esi, 0x830d4fa
je 0x3144fc
cmp esi, 0x889adac
je 0x3144df
cmp esi, 0x8941b17
jne 0x314897
mov eax, dword [esp + 0x1c]
call fcn.0031e6d8
mov esi, 0xbab40ff
jmp 0x313fd3
mov eax, dword [esp + 0x1b0]
mov eax, dword [esp + 0x154]
call fcn.0031befc
mov esi, 0x5f66e90
jmp 0x313fd3
mov eax, dword [esp + 0x100]
call fcn.00305300
test eax, eax
je 0x3148d5
mov esi, 0xe525113
jmp 0x313fd3
push dword [esp + 0x15c]
lea edx, [esp + 0x238]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x16c]
call fcn.0031c6f2
pop ecx
pop ecx
test eax, eax
je 0x314544
mov edi, dword [esp + 0x2c]
jmp 0x3145b4
mov eax, dword [esp + 0x248]
test eax, eax
jne 0x314581
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
push dword [esp + 0x16c]
mov ecx, dword [esp + 0x178]
sub esp, 0xc
call fcn.0030e363
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0x248]
cmp eax, 1
jne 0x3145b4
mov eax, dword [esp + 0xb4]
mov eax, dword [esp + 0x17c]
mov eax, dword [esp + 0x184]
mov eax, dword [esp + 0x54]
push dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
sub esp, 0xc
call fcn.0030e363
add esp, 0x10
mov edi, eax
mov ebx, ebp
mov esi, 0x6b290e4
jmp 0x313fd3
cmp esi, 0x8c4348e
je 0x3146c4
cmp esi, 0xa0f688e
je 0x3146a7
cmp esi, 0xa713116
je 0x31468a
cmp esi, 0xb3a13b4
jne 0x314897
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x210]
push eax
push dword [esp + 0x194]
push dword [esp + 0xc8]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xdc]
call fcn.003129a6
add esp, 0x10
test eax, eax
jne 0x31465d
mov eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
push dword [esp + 0x84]
mov ecx, dword [esp + 0x90]
sub esp, 0xc
call fcn.0030e363
add esp, 0x10
mov edi, eax
mov ebx, ebp
jmp 0x3143ff
mov eax, dword [esp + 0x248]
cmp eax, 8
jne 0x314673
mov esi, 0x7dd5725
jmp 0x313fd3
test eax, eax
je 0x314680
cmp eax, 1
jne 0x3143ff
mov esi, 0x8b45b05
jmp 0x313fd3
mov eax, dword [esp + 0x194]
call fcn.00303cbe
mov dword [esp + 0x274], eax
mov esi, 0x4f9319b
jmp 0x313fd3
mov eax, dword [esp + 0xdc]
call fcn.0030e39a
mov dword [esp + 0x294], eax
mov esi, 0xff05709
jmp 0x313fd3
mov eax, dword [esp + 0x19c]
mov eax, dword [esp + 0x94]
call fcn.0031cd6b
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfd6fc85c
add esi, 0xe3b78a3
jmp 0x313fd3
mov eax, dword [esp + 0x1a4]
call fcn.003078bb
mov esi, 0x830d4fa
jmp 0x313fd3
cmp esi, 0xea8522e
jg 0x314821
je 0x31480c
cmp esi, 0xbb3b2a3
je 0x3147ec
cmp esi, 0xce91ae2
je 0x3147d6
cmp esi, 0xe3b78a3
je 0x314778
cmp esi, 0xe525113
jne 0x314897
mov eax, dword [esp + 0x1ac]
call fcn.0030ca09
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0xe4]
call fcn.0030a20b
mov esi, eax
neg esi
sbb esi, esi
and esi, 0x45f6d36
add esi, 0x889adac
jmp 0x313fd3
mov eax, dword [esp + 0xec]
call fcn.003072b0
test eax, eax
je 0x3147ac
mov eax, dword [esp + 0x1b4]
mov eax, dword [esp + 0xf4]
call fcn.0030a20b
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfdf9df16
jmp 0x314325
mov eax, dword [esp + 0xfc]
mov eax, dword [esp + 0xa4]
call fcn.0030a20b
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfe3a28e2
add esi, 0x8941b17
jmp 0x313fd3
mov eax, dword [esp + 0x1bc]
call fcn.0031942f
mov esi, 0x889adac
jmp 0x313fd3
mov edx, dword [esp + 0x104]
push dword [esp + 0x204]
mov ecx, dword [esp + 0x1c8]
call fcn.0030768d
pop ecx
jmp 0x3143b8
mov eax, dword [esp + 0x10c]
mov esi, ebp
mov dword [esp + 0x28c], eax
jmp 0x313fd3
cmp esi, ebp
je 0x31486f
cmp esi, 0xfe505d0
je 0x314859
cmp esi, 0xff05709
jne 0x314897
mov eax, dword [esp + 0x1cc]
mov eax, dword [esp + 0x114]
call fcn.00306595
mov dword [esp + 0x260], eax
mov esi, 0xa713116
jmp 0x313fd3
mov eax, dword [esp + 0x11c]
call fcn.0031218a
mov esi, 0x2b152e7
jmp 0x313fd3
push dword [esp + 0xac]
lea edx, [esp + 0x268]
push dword [esp + 0x128]
mov ecx, dword [esp + 0x134]
call fcn.003193e3
pop ecx
pop ecx
mov esi, 0xfbc1d7
cmp esi, 0x8da0556
jne 0x313fd3
jmp 0x3148d5
mov eax, dword [esp + 0xb8]
call fcn.0030aa7e
jmp 0x3148d5
push dword [esp + 0x134]
mov edx, dword [esp + 0x140]
call fcn.0030d3d1
pop ecx
jmp 0x3148d5
mov eax, dword [esp + 0x144]
call fcn.0030987c
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret