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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x258
and dword [esp + 0x1bc], 0
xor edx, edx
and dword [esp + 0x1c0], 0
mov ecx, 0x1d0c744e
mov dword [esp + 0x1b8], 0x596e14
mov dword [esp + 0x17c], 0x67f0
shl dword [esp + 0x17c], 0xd
xor dword [esp + 0x17c], 0xcfe4cfc
mov dword [esp + 0xb4], 0xb72c
add dword [esp + 0xb4], 0xffff6a62
shr dword [esp + 0xb4], 7
xor dword [esp + 0xb4], 0x120c
mov dword [esp + 0x128], 0xd4bf
imul eax, dword [esp + 0x128], 0x2b
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x138], eax
add dword [esp + 0x138], 0x92a6
xor dword [esp + 0x138], 0x246037
mov dword [esp + 0xb4], 0x30b4
add dword [esp + 0xb4], 0xffff1f49
imul eax, dword [esp + 0xb4], 0x54
push 0x57
pop edi
mov dword [esp + 0xb4], eax
xor dword [esp + 0xb4], 0xffc6620d
mov dword [esp + 0x1a4], 0xcddd
shr dword [esp + 0x1a4], 9
xor dword [esp + 0x1a4], 0x2abe
mov dword [esp + 0x164], 0x46dc
imul eax, dword [esp + 0x164], 0x60
mov dword [esp + 0x164], eax
xor dword [esp + 0x164], 0x1ac5fb
mov dword [esp + 0x16c], 0xb9f2
add dword [esp + 0x16c], 0xffff4504
xor dword [esp + 0x16c], 0xffff9fbf
mov dword [esp + 0x8c], 0x2949
shl dword [esp + 0x8c], 5
shl dword [esp + 0x8c], 5
add dword [esp + 0x8c], 0xffff46bf
xor dword [esp + 0x8c], 0xa447b1
mov dword [esp + 0x34], 0x7142
or dword [esp + 0x34], 0xce2501c
shr dword [esp + 0x34], 1
xor dword [esp + 0x34], 0xe4f4abe9
xor dword [esp + 0x34], 0xe285c336
mov dword [esp + 0x154], 0x86d5
add dword [esp + 0x154], 0x82e9
xor dword [esp + 0x154], 0x12150
mov dword [esp + 0x1b0], 0x55d5
xor dword [esp + 0x1b0], 0x83fbc24c
xor dword [esp + 0x1b0], 0x83fbe4a9
mov dword [esp + 0x19c], 0xe7fa
mov eax, dword [esp + 0x19c]
div edi
mov dword [esp + 0x19c], eax
xor dword [esp + 0x19c], 0x1ee2
mov dword [esp + 0x100], 0xdbe4
or dword [esp + 0x100], 0xa6ff3992
add dword [esp + 0x100], 0xffff205e
xor dword [esp + 0x100], 0xa6ff349a
mov dword [esp + 0xc8], 0x5812
xor dword [esp + 0xc8], 0xcf0b9534
or dword [esp + 0xc8], 0xe845f3f0
xor dword [esp + 0xc8], 0xef4ff274
mov dword [esp + 0x15c], 0x4400
shr dword [esp + 0x15c], 0xa
xor dword [esp + 0x15c], 0x187f
mov dword [esp + 0x6c], 0x1353
xor dword [esp + 0x6c], 0x9c9dd97d
add dword [esp + 0x6c], 0xffff2258
shl dword [esp + 0x6c], 0xf
xor dword [esp + 0x6c], 0x7643157a
mov dword [esp + 0x120], 0x923e
add dword [esp + 0x120], 0x8297
shl dword [esp + 0x120], 0x10
xor dword [esp + 0x120], 0x14d534b9
mov dword [esp + 0x84], 0xc70
add dword [esp + 0x84], 0x37b4
imul eax, dword [esp + 0x84], 0x6d
xor edx, edx
push 0x1e
pop esi
push 0x6d
mov dword [esp + 0x88], eax
add dword [esp + 0x88], 0xfffff7f0
xor dword [esp + 0x88], 0x1cd0f8
mov dword [esp + 0x148], 0xcada
or dword [esp + 0x148], 0x35170ab3
xor dword [esp + 0x148], 0x3517d891
mov dword [esp + 0xe4], 0x164f
add dword [esp + 0xe4], 0x7334
add dword [esp + 0xe4], 0xfffff225
xor dword [esp + 0xe4], 0x3335
mov dword [esp + 0x134], 0x93b9
add dword [esp + 0x134], 0xe9b9
mov eax, dword [esp + 0x134]
div esi
pop esi
mov dword [esp + 0x130], eax
xor edx, edx
xor dword [esp + 0x130], 0x1262
mov dword [esp + 0x128], 0xc38e
xor dword [esp + 0x128], 0x59c23b9d
mov eax, dword [esp + 0x128]
div esi
push 0x65
mov dword [esp + 0x12c], eax
xor edx, edx
xor dword [esp + 0x12c], 0xd2fe02
mov dword [esp + 0x58], 0x8654
shr dword [esp + 0x58], 0xe
imul eax, dword [esp + 0x58], 0x68
pop ebx
push 0x59
pop esi
push 0x23
mov dword [esp + 0x58], eax
add dword [esp + 0x58], 0xffff0cd5
xor dword [esp + 0x58], 0xffff3ec0
mov dword [esp + 0x74], 0xe045
shr dword [esp + 0x74], 7
mov eax, dword [esp + 0x74]
div ebx
xor edx, edx
mov dword [esp + 0x74], eax
add dword [esp + 0x74], 0xffff3a43
xor dword [esp + 0x74], 0xffff3a9e
mov dword [esp + 0x194], 0xd067
shl dword [esp + 0x194], 0xc
xor dword [esp + 0x194], 0xd064e1e
mov dword [esp + 0x7c], 0x9539
mov eax, dword [esp + 0x7c]
div esi
pop esi
mov dword [esp + 0x78], eax
xor edx, edx
or dword [esp + 0x78], 0xe2ba032b
add dword [esp + 0x78], 0xffff39ad
xor dword [esp + 0x78], 0xe2b96d30
mov dword [esp + 0xd8], 0x1d47
add dword [esp + 0xd8], 0xffffab3c
or dword [esp + 0xd8], 0x81362f93
xor dword [esp + 0xd8], 0xffffd1b5
mov dword [esp + 0x74], 0xe97b
shl dword [esp + 0x74], 5
shr dword [esp + 0x74], 9
shr dword [esp + 0x74], 3
xor dword [esp + 0x74], 0x6f5a
mov dword [esp + 0x124], 0xd704
mov eax, dword [esp + 0x124]
div esi
push 0x61
mov dword [esp + 0x128], eax
add dword [esp + 0x128], 0xffff87d6
xor dword [esp + 0x128], 0xffffcf0b
xor edx, edx
mov dword [esp + 0x8c], 0x823
mov eax, dword [esp + 0x8c]
pop esi
div esi
xor edx, edx
mov dword [esp + 0x88], eax
add dword [esp + 0x88], 0xffff2e1a
shl dword [esp + 0x88], 0xc
xor dword [esp + 0x88], 0xf2e2edfe
mov dword [esp + 0x1a0], 0x6513
mov eax, dword [esp + 0x1a0]
div edi
push 0x31
mov dword [esp + 0x1a4], eax
xor edx, edx
xor dword [esp + 0x1a4], 0x551b
mov dword [esp + 0x138], 0xdbc8
mov eax, dword [esp + 0x138]
pop esi
div esi
push 0x2a
mov dword [esp + 0x138], eax
xor edx, edx
mov eax, dword [esp + 0x138]
pop esi
div esi
push 0x3f
mov dword [esp + 0x138], eax
xor edx, edx
xor dword [esp + 0x138], 0x347c
mov dword [esp + 0xb0], 0xcc74
xor dword [esp + 0xb0], 0x5d427bbb
xor dword [esp + 0xb0], 0xda4778f8
xor dword [esp + 0xb0], 0x870588b4
mov dword [esp + 0x1c], 0x88e1
or dword [esp + 0x1c], 0xff7dffff
xor dword [esp + 0x1c], 0xff7dbf0e
mov dword [esp + 0x24], 0x5e6b
shl dword [esp + 0x24], 2
imul eax, dword [esp + 0x24], 0x77
pop esi
push 0x51
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x4355a7f2
xor dword [esp + 0x24], 0x43fa137f
mov dword [esp + 0xc0], 0x30ce
mov eax, dword [esp + 0xc0]
div esi
xor edx, edx
mov dword [esp + 0xc0], eax
shl dword [esp + 0xc0], 4
xor dword [esp + 0xc0], 0x7c69
mov dword [esp + 0x14c], 0xd4b8
add dword [esp + 0x14c], 0xffffbbcd
xor dword [esp + 0x14c], 0xc320
mov dword [esp + 0x198], 0x33e8
imul eax, dword [esp + 0x198], 0x16
pop esi
push 0x77
mov dword [esp + 0x198], eax
xor dword [esp + 0x198], 0x40c70
mov dword [esp + 0xe0], 0x1183
mov eax, dword [esp + 0xe0]
div esi
xor edx, edx
mov dword [esp + 0xe0], eax
shl dword [esp + 0xe0], 9
xor dword [esp + 0xe0], 0x14ed
mov dword [esp + 0xd8], 0xa36d
or dword [esp + 0xd8], 0xfae29b86
mov eax, dword [esp + 0xd8]
pop esi
div esi
mov dword [esp + 0xd4], eax
xor dword [esp + 0xd4], 0x21bf3b2
mov dword [esp + 0x150], 0x2e2a
imul eax, dword [esp + 0x150], 0x5e
mov dword [esp + 0x150], eax
xor dword [esp + 0x150], 0x1097ca
mov dword [esp + 0x48], 0xacc5
imul eax, dword [esp + 0x48], 0xd
xor edx, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
push 0x1c
pop esi
div esi
push 0x12
mov dword [esp + 0x4c], eax
xor edx, edx
add dword [esp + 0x4c], 0xffff1f8a
xor dword [esp + 0x4c], 0xffff7c0a
mov dword [esp + 0xe8], 0x7a36
imul eax, dword [esp + 0xe8], 0x2a
pop esi
push 0x2c
mov dword [esp + 0xe8], eax
imul eax, dword [esp + 0xe8], 0x73
mov dword [esp + 0xe8], eax
xor dword [esp + 0xe8], 0x901cc1e
mov dword [esp + 0x164], 0x4b8d
add dword [esp + 0x164], 0xffff2d4e
xor dword [esp + 0x164], 0xffff72af
mov dword [esp + 0x15c], 0x2ba1
shr dword [esp + 0x15c], 0xc
xor dword [esp + 0x15c], 0x1648
mov dword [esp + 0x19c], 0xa570
shl dword [esp + 0x19c], 0xb
xor dword [esp + 0x19c], 0x52b9bf3
mov dword [esp + 0x94], 0xb31e
xor dword [esp + 0x94], 0x66c3f08f
shr dword [esp + 0x94], 6
xor dword [esp + 0x94], 0x808e6c66
xor dword [esp + 0x94], 0x81152f05
mov dword [esp + 0xa4], 0x8e25
xor dword [esp + 0xa4], 0x94074910
shl dword [esp + 0xa4], 1
shl dword [esp + 0xa4], 8
xor dword [esp + 0xa4], 0xf8e29bc
mov dword [esp + 0x9c], 0xb979
mov eax, dword [esp + 0x9c]
div esi
xor edx, edx
mov dword [esp + 0x9c], eax
add dword [esp + 0x9c], 0xffff0871
or dword [esp + 0x9c], 0xab00fab0
xor dword [esp + 0x9c], 0xffffb9f5
mov dword [esp + 0x34], 0xcd5b
xor dword [esp + 0x34], 0xe557cd74
xor dword [esp + 0x34], 0x5651f548
xor dword [esp + 0x34], 0xa2e8bb84
xor dword [esp + 0x34], 0x11ee5630
mov dword [esp + 0x2c], 0x4663
add dword [esp + 0x2c], 0xffffc613
add dword [esp + 0x2c], 0xffff1f1b
mov eax, dword [esp + 0x2c]
pop esi
div esi
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x5d132f9
mov dword [esp + 0x38], 0xc419
add dword [esp + 0x38], 0xffff1f23
xor dword [esp + 0x38], 0xd99e4671
or dword [esp + 0x38], 0x15547165
xor dword [esp + 0x38], 0x3775a53f
mov dword [esp + 0xcc], 0x39b1
shl dword [esp + 0xcc], 3
xor dword [esp + 0xcc], 0xc891ea45
xor dword [esp + 0xcc], 0xc8901b9f
mov dword [esp + 0x1c4], 0xb0bc
shl dword [esp + 0x1c4], 0xd
xor dword [esp + 0x1c4], 0x1617cee1
mov dword [esp + 0x7c], 0xb14
xor dword [esp + 0x7c], 0xc27f7384
add dword [esp + 0x7c], 0xffffce41
shr dword [esp + 0x7c], 0xd
xor dword [esp + 0x7c], 0x625a3
mov dword [esp + 0xe8], 0x8084
shr dword [esp + 0xe8], 5
shr dword [esp + 0xe8], 6
xor dword [esp + 0xe8], 0x7517
mov dword [esp + 0x17c], 0x80d1
or dword [esp + 0x17c], 0x5433216a
xor dword [esp + 0x17c], 0x5433e022
mov dword [esp + 0x110], 0x9f9d
or dword [esp + 0x110], 0xfeaaffbf
xor edx, edx
xor dword [esp + 0x110], 0xfeaac1e3
mov dword [esp + 0xb8], 0xdb9e
shr dword [esp + 0xb8], 7
shl dword [esp + 0xb8], 6
xor dword [esp + 0xb8], 0x7eb6
mov dword [esp + 0x14], 0x67e7
add dword [esp + 0x14], 0x6c0e
shl dword [esp + 0x14], 9
or dword [esp + 0x14], 0x66561a43
xor dword [esp + 0x14], 0x67f784a4
mov dword [esp + 0x1a8], 0x8cef
add dword [esp + 0x1a8], 0xffff392c
xor dword [esp + 0x1a8], 0xffffcf11
mov dword [esp + 0x3c], 0x118e
mov eax, dword [esp + 0x3c]
push 0x4f
pop esi
div esi
xor edx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
push 0x33
pop esi
div esi
xor edx, edx
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x9198dd4
xor dword [esp + 0x3c], 0x919ca4e
mov dword [esp + 0x108], 0x8f4d
add dword [esp + 0x108], 0x1a6b
shl dword [esp + 0x108], 7
xor dword [esp + 0x108], 0x54fbe1
mov dword [esp + 0xd0], 0x61a2
shl dword [esp + 0xd0], 0xb
add dword [esp + 0xd0], 0xffff2d9f
xor dword [esp + 0xd0], 0x30c035c
mov dword [esp + 0x1b4], 0xf523
or dword [esp + 0x1b4], 0x835b38f7
xor dword [esp + 0x1b4], 0x835bc166
mov dword [esp + 0xa4], 0xfd5d
imul eax, dword [esp + 0xa4], 3
push 0x56
pop edi
mov dword [esp + 0xa4], eax
add dword [esp + 0xa4], 0x87e2
add dword [esp + 0xa4], 0xffff0723
xor dword [esp + 0xa4], 0x29b10
mov dword [esp + 0x24], 0xf924
mov eax, dword [esp + 0x24]
div esi
xor edx, edx
mov dword [esp + 0x24], eax
imul eax, dword [esp + 0x24], 0x39
mov dword [esp + 0x24], eax
add dword [esp + 0x24], 0xed76
xor dword [esp + 0x24], 0x27f11
mov dword [esp + 0x64], 0x7b35
add dword [esp + 0x64], 0xa990
shr dword [esp + 0x64], 0xc
imul eax, dword [esp + 0x64], 6
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x3108
mov dword [esp + 0x1c], 0x4d5
shr dword [esp + 0x1c], 0xe
add dword [esp + 0x1c], 0xffffea68
add dword [esp + 0x1c], 0xffff25df
xor dword [esp + 0x1c], 0xffff27dd
mov dword [esp + 0x58], 0x9132
add dword [esp + 0x58], 0x5140
xor dword [esp + 0x58], 0x2c6737c0
mov eax, dword [esp + 0x58]
div edi
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0x846717
mov dword [esp + 0x50], 0x1607
shl dword [esp + 0x50], 4
shr dword [esp + 0x50], 0x10
xor edx, edx
mov eax, dword [esp + 0x50]
push 0x24
pop esi
div esi
push 0x35
mov dword [esp + 0x54], eax
xor edx, edx
xor dword [esp + 0x54], 0x5975
mov dword [esp + 0x184], 0x76dd
imul eax, dword [esp + 0x184], 0x63
pop esi
push 0x52
mov dword [esp + 0x184], eax
xor dword [esp + 0x184], 0x2de7e6
mov dword [esp + 0xf8], 0xdd56
shr dword [esp + 0xf8], 0x10
add dword [esp + 0xf8], 0xc580
xor dword [esp + 0xf8], 0xa065
mov dword [esp + 0x108], 0xf49e
shl dword [esp + 0x108], 0xc
or dword [esp + 0x108], 0x8fe849b1
xor dword [esp + 0x108], 0x8fe9b444
mov dword [esp + 0x100], 0xe777
xor dword [esp + 0x100], 0x8b36929
shl dword [esp + 0x100], 0xc
xor dword [esp + 0x100], 0x38e59a42
mov dword [esp + 0x18c], 0x87b4
mov eax, dword [esp + 0x18c]
div esi
xor edx, edx
mov dword [esp + 0x18c], eax
xor dword [esp + 0x18c], 0xa2f
mov dword [esp + 0x118], 0x1b70
xor dword [esp + 0x118], 0x26212cd
imul eax, dword [esp + 0x118], 0x5a
pop esi
mov dword [esp + 0x114], eax
xor dword [esp + 0x114], 0xd6774f4d
mov dword [esp + 0x10c], 0x2afc
or dword [esp + 0x10c], 0x9ef7fc43
xor dword [esp + 0x10c], 0x9ef787e9
mov dword [esp + 0x68], 0x721d
shl dword [esp + 0x68], 3
mov eax, dword [esp + 0x68]
div esi
mov dword [esp + 0x68], eax
imul eax, dword [esp + 0x68], 5
mov dword [esp + 0x68], eax
xor dword [esp + 0x68], 0x58d8
mov dword [esp + 0x60], 0xeba
shl dword [esp + 0x60], 0x10
shl dword [esp + 0x60], 7
add dword [esp + 0x60], 0xffff07b7
xor dword [esp + 0x60], 0x5cff42ea
mov dword [esp + 0x4c], 0xc66
add dword [esp + 0x4c], 0xfffff6e3
shl dword [esp + 0x4c], 0xd
shl dword [esp + 0x4c], 9
xor dword [esp + 0x4c], 0xd2404634
mov dword [esp + 0x9c], 0x711d
shr dword [esp + 0x9c], 0x10
imul eax, dword [esp + 0x9c], 0x2a
mov dword [esp + 0x9c], eax
add dword [esp + 0x9c], 0x7e58
xor dword [esp + 0x9c], 0x6397
mov dword [esp + 0x44], 0xd258
add dword [esp + 0x44], 0xffff1c73
shr dword [esp + 0x44], 8
xor dword [esp + 0x44], 0xed4f4154
xor dword [esp + 0x44], 0xedb0ab3f
mov dword [esp + 0x1bc], 0xff9e
shl dword [esp + 0x1bc], 0x10
xor dword [esp + 0x1bc], 0xff9e14d0
mov dword [esp + 0x1ac], 0x23f
add dword [esp + 0x1ac], 0x2f2b
xor dword [esp + 0x1ac], 0x6c1d
mov dword [esp + 0x174], 0xd271
shr dword [esp + 0x174], 0xd
xor dword [esp + 0x174], 0x53ce
mov dword [esp + 0xc0], 0x20f7
imul eax, dword [esp + 0xc0], 6
mov dword [esp + 0xc0], eax
add dword [esp + 0xc0], 0xfffffd0b
xor edx, edx
xor dword [esp + 0xc0], 0x93fc
mov dword [esp + 0x2c], 0x45b9
xor dword [esp + 0x2c], 0xb5b2e6af
imul eax, dword [esp + 0x2c], 0x48
push 0x5f
pop esi
push 0x72
mov dword [esp + 0x30], eax
shl dword [esp + 0x30], 3
xor dword [esp + 0x30], 0xd1eecfac
mov dword [esp + 0x17c], 0x6d59
or dword [esp + 0x17c], 0x3a6d07cd
xor dword [esp + 0x17c], 0x3a6d0780
mov dword [esp + 0xf0], 0x24ff
shr dword [esp + 0xf0], 7
add dword [esp + 0xf0], 0xffff62b2
xor dword [esp + 0xf0], 0xffff0267
mov dword [esp + 0x174], 0x5254
mov eax, dword [esp + 0x174]
div esi
xor edx, edx
mov dword [esp + 0x174], eax
xor dword [esp + 0x174], 0x595d
mov dword [esp + 0x16c], 0xa10
xor dword [esp + 0x16c], 0x552e0460
xor dword [esp + 0x16c], 0x552e340d
mov dword [esp + 0x84], 0xa28a
shl dword [esp + 0x84], 0x10
add dword [esp + 0x84], 0xd118
shr dword [esp + 0x84], 9
xor dword [esp + 0x84], 0x512951
mov dword [esp + 0x120], 0x9335
or dword [esp + 0x120], 0x510822d4
mov eax, dword [esp + 0x120]
pop esi
div esi
push 0x46
mov dword [esp + 0x120], eax
xor edx, edx
xor dword [esp + 0x120], 0xb5ba18
mov dword [esp + 0x1c4], 0x1fce
or dword [esp + 0x1c4], 0xbf9a43ae
xor dword [esp + 0x1c4], 0xbf9a4639
mov dword [esp + 0x188], 0x49bc
add dword [esp + 0x188], 0x3c53
xor dword [esp + 0x188], 0xcd67
mov dword [esp + 0x44], 0x43bb
shl dword [esp + 0x44], 0xe
shr dword [esp + 0x44], 6
xor dword [esp + 0x44], 0x99780cbf
xor dword [esp + 0x44], 0x993bb352
mov dword [esp + 0x1bc], 0x97a
shr dword [esp + 0x1bc], 6
xor dword [esp + 0x1bc], 0x325e
mov dword [esp + 0x150], 0x77b7
mov eax, dword [esp + 0x150]
pop esi
div esi
mov dword [esp + 0x14c], eax
xor dword [esp + 0x14c], 0x2c0
mov dword [esp + 0xb0], 0xdf6e
shr dword [esp + 0xb0], 0xc
shl dword [esp + 0xb0], 4
xor dword [esp + 0xb0], 0x79f2
mov dword [esp + 0x12c], 0xfb2e
add dword [esp + 0x12c], 0x4e63
imul eax, dword [esp + 0x12c], 0x43
mov dword [esp + 0x12c], eax
xor dword [esp + 0x12c], 0x5657a3
mov dword [esp + 0xa8], 0x25ef
or dword [esp + 0xa8], 0xe5a55d04
shr dword [esp + 0xa8], 0xe
imul eax, dword [esp + 0xa8], 0x63
mov dword [esp + 0xa8], eax
xor dword [esp + 0xa8], 0x1630e01
mov dword [esp + 0x94], 0xeb5e
xor dword [esp + 0x94], 0xe549384c
add dword [esp + 0x94], 0xffffa38d
imul eax, dword [esp + 0x94], 0x6c
mov dword [esp + 0x94], eax
xor edx, edx
xor dword [esp + 0x94], 0xbafe1948
mov dword [esp + 0xf0], 0x7366
shl dword [esp + 0xf0], 0xc
mov eax, dword [esp + 0xf0]
div edi
xor edx, edx
mov dword [esp + 0xf0], eax
xor dword [esp + 0xf0], 0x157500
mov dword [esp + 0x5c], 0x21cf
add dword [esp + 0x5c], 0xffffb4cd
shr dword [esp + 0x5c], 7
mov eax, dword [esp + 0x5c]
push 0xf
pop esi
div esi
xor edx, edx
mov dword [esp + 0x5c], eax
xor dword [esp + 0x5c], 0x2229df
mov dword [esp + 0x118], 0x8e2f
shl dword [esp + 0x118], 0xb
or dword [esp + 0x118], 0xe54fe1aa
xor dword [esp + 0x118], 0xe57f8422
mov dword [esp + 0x10], 0x7c46
mov eax, dword [esp + 0x10]
div ebx
push 0x29
mov dword [esp + 0x14], eax
xor edx, edx
or dword [esp + 0x14], 0x479706e3
mov eax, dword [esp + 0x14]
pop esi
div esi
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0x1bf4a41
mov dword [esp + 0xf8], 0x740
add dword [esp + 0xf8], 0xffffdb5c
or dword [esp + 0xf8], 0x9690de65
xor dword [esp + 0xf8], 0xffffbb2c
mov dword [esp + 0x13c], 0x3b44
shr dword [esp + 0x13c], 8
xor dword [esp + 0x13c], 0xa68a6d25
xor dword [esp + 0x13c], 0xa68a56b8
mov dword [esp + 0x140], 0x2623
shr dword [esp + 0x140], 9
xor dword [esp + 0x140], 0x182f
mov ebp, dword [esp + 0x140]
mov ebx, dword [esp + 0x1cc]
mov edi, dword [esp + 0x1c8]
mov esi, 0x2d3385b4
cmp ecx, 0x1cddb42d
jg 0x296a85
je 0x296a12
cmp ecx, 0x12ec24f1
jg 0x296847
je 0x296815
cmp ecx, 0x533e9c9
jg 0x29672a
je 0x296710
cmp ecx, 0x3c975d2
je 0x2966ce
cmp ecx, 0x4424017
je 0x2966b1
cmp ecx, 0x448949c
je 0x296694
cmp ecx, 0x47e9b78
je 0x296669
cmp ecx, 0x495604b
jne 0x296edd
mov edx, dword [esp + 0xb0]
push dword [esp + 0x214]
mov ecx, dword [esp + 0x150]
call fcn.00299b59
pop ecx
mov ecx, 0x1cddb42d
jmp 0x2965da
lea eax, [esp + 0x214]
push eax
push dword [esp + 0x1ac]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc0]
call fcn.002817fb
pop ecx
pop ecx
mov ecx, 0x12ec24f1
jmp 0x2965da
mov eax, dword [esp + 0xb4]
mov eax, dword [esp + 0x138]
call fcn.00292f0e
mov ecx, 0x15a0f5fd
jmp 0x2965da
mov eax, dword [esp + 0x144]
mov eax, dword [esp + 0x84]
call fcn.0028a7f1
mov ecx, 0x14a5df51
jmp 0x2965da
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x1ec]
push eax
push dword [esp + 0x24]
push dword [esp + 0x70]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0xb4]
call fcn.002912a3
add esp, 0x10
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x23de756
add ecx, 0x2ac9f8b8
jmp 0x2965da
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xc0]
call fcn.0028db4a
mov ecx, 0x2b90bef9
jmp 0x2965da
cmp ecx, 0x7129f03
je 0x2967ff
cmp ecx, 0xd7cd748
je 0x2967d8
cmp ecx, 0x103e0d04
je 0x296776
cmp ecx, 0x11024049
jne 0x296edd
mov eax, dword [esp + 0x6c]
call fcn.00281d2b
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x10768b73
add ecx, 0x1f0080cc
jmp 0x2965da
mov eax, dword [esp + 0x1b0]
mov eax, dword [esp + 0x154]
call fcn.00282b2b
test eax, eax
je 0x2967ae
mov eax, dword [esp + 0x100]
mov eax, dword [esp + 0x19c]
call fcn.0028eff1
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xf201bf7d
jmp 0x29676b
mov eax, dword [esp + 0x15c]
mov eax, dword [esp + 0xc8]
call fcn.0028eff1
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x2d05eec
add ecx, 0x4424017
jmp 0x2965da
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x8c]
call fcn.002813fb
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x467d24d
add ecx, 0x103e0d04
jmp 0x2965da
mov eax, dword [esp + 0x120]
call fcn.0028d77e
mov ecx, 0x4424017
jmp 0x2965da
push dword [esp + 0x1b4]
lea edx, [esp + 0x220]
push dword [esp + 0xd4]
push dword [esp + 0x110]
mov ecx, dword [esp + 0x48]
call fcn.00285eaf
add esp, 0xc
mov ecx, 0x3c975d2
jmp 0x2965da
cmp ecx, 0x19ea85c6
jg 0x296979
je 0x296955
cmp ecx, 0x138bbce5
je 0x2968e9
cmp ecx, 0x14a5df51
je 0x2968cc
cmp ecx, 0x15a0f5fd
je 0x29689b
cmp ecx, 0x16643716
jne 0x296edd
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0xd8]
call fcn.00298684
mov ecx, 0x362000cb
jmp 0x2965da
mov eax, dword [esp + 0x164]
mov eax, dword [esp + 0x1a4]
call fcn.0028cdd8
test eax, eax
je 0x296f13
mov eax, dword [esp + 0x16c]
call fcn.002864d0
mov ecx, 0xd7cd748
jmp 0x2965da
mov eax, dword [esp + 0x130]
mov eax, dword [esp + 0xe0]
call fcn.00282290
mov ecx, 0x1b86511e
jmp 0x2965da
lea eax, [esp + 0x1e0]
push eax
lea eax, [esp + 0x1f4]
push eax
push dword [esp + 0x1c4]
push dword [esp + 0x50]
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x5c]
call fcn.00293689
add esp, 0x10
test eax, eax
je 0x296cbc
mov eax, dword [esp + 0x174]
mov eax, dword [esp + 0x1ac]
call fcn.00288e9f
cmp dword [esp + 0x1f8], 0
mov ecx, 0x533e9c9
je 0x2965da
cmp dword [esp + 0x1f8], 7
cmove ecx, esi
jmp 0x2965da
mov eax, dword [esp + 0x110]
mov eax, dword [esp + 0x17c]
call fcn.0028effa
mov dword [esp + 0x208], eax
mov ecx, 0x1b4360f4
jmp 0x2965da
cmp ecx, 0x1b4360f4
je 0x2969fd
cmp ecx, 0x1b86511e
je 0x2969db
cmp ecx, 0x1b92bfe3
je 0x2969be
cmp ecx, 0x1cc493d8
jne 0x296edd
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x1c4]
call fcn.0029b7a9
mov dword [esp + 0x224], eax
mov ecx, 0x1b92bfe3
jmp 0x2965da
mov eax, dword [esp + 0xe8]
call fcn.00288f1b
mov dword [esp + 0x204], eax
mov ecx, 0x19ea85c6
jmp 0x2965da
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x128]
call fcn.0029457f
test eax, eax
je 0x296f13
mov ecx, 0x2ca54288
jmp 0x2965da
mov dword [esp + 0x20c], 0x1346150
mov ecx, 0x34c6fb5c
jmp 0x2965da
mov eax, edi
or eax, ebx
jne 0x296a1f
mov ecx, ebp
jmp 0x296edd
mov eax, dword [esp + 0xf0]
mov eax, dword [esp + 0x94]
push ecx
push 0x4b0
mov ecx, 0x190
call fcn.0028e971
mov ecx, dword [esp + 0x120]
add esp, 4
mov ecx, dword [esp + 0x60]
mov ecx, eax
call fcn.0029aa82
pop ecx
test eax, eax
je 0x296a61
mov ecx, 0x245b7f4f
jmp 0x2965da
mov eax, dword [esp + 0xf8]
mov eax, dword [esp + 0x10]
call fcn.0028c1c2
cmp edx, ebx
jb 0x296ed8
ja 0x296a18
cmp eax, edi
jb 0x296ed8
jmp 0x296a18
cmp ecx, 0x2b90bef9
jg 0x296cc6
je 0x296c6e
cmp ecx, 0x214dae1b
jg 0x296b59
je 0x296b34
cmp ecx, 0x1d0c744e
je 0x296b2a
cmp ecx, 0x1f0080cc
je 0x296afc
cmp ecx, 0x1ffb6811
je 0x296ad7
cmp ecx, 0x201b7037
jne 0x296edd
mov ecx, 0x34e97310
jmp 0x2965da
mov edx, dword [esp + 0x184]
push dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1c4]
call fcn.00299b59
pop ecx
mov ecx, 0x2ac9f8b8
jmp 0x2965da
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
call fcn.0028f3b2
mov eax, dword [esp + 0xbc]
mov ebp, 0x361a9b10
mov eax, dword [esp + 0x20]
call fcn.0028c1c2
mov edi, eax
mov ebx, edx
jmp 0x29665f
mov ecx, 0x214dae1b
jmp 0x2965da
mov eax, dword [esp + 0xc4]
mov eax, dword [esp + 0x18c]
call fcn.0028395f
test eax, eax
je 0x296f13
mov ecx, 0x448949c
jmp 0x2965da
cmp ecx, 0x245b7f4f
je 0x296eeb
cmp ecx, 0x26fbbb65
je 0x296bf8
cmp ecx, 0x2ac9f8b8
je 0x296bd6
cmp ecx, 0x2b30ffef
jne 0x296edd
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x228]
push ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.00290e49
pop ecx
pop ecx
test eax, eax
je 0x296a57
mov edx, dword [esp + 0xcc]
lea eax, [esp + 0x228]
mov ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x200], eax
call fcn.002879ae
pop ecx
mov dword [esp + 0x200], eax
mov ecx, 0x1cc493d8
jmp 0x2965da
mov edx, dword [esp + 0x1b8]
push dword [esp + 0x21c]
mov ecx, dword [esp + 0x44]
call fcn.00299b59
pop ecx
mov ecx, 0x495604b
jmp 0x2965da
push dword [esp + 0xd4]
lea eax, [esp + 0x1e0]
push dword [esp + 0xe0]
push eax
push dword [esp + 0x1a0]
mov edx, dword [esp + 0x158]
call fcn.00283548
push dword [esp + 0x58]
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x1ec]
push eax
call fcn.0029066a
push dword [esp + 0x170]
push dword [esp + 0x17c]
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x1f8]
call fcn.00289116
add esp, 0x20
mov ecx, 0x201b7037
jmp 0x2965da
push dword [esp + 0x168]
lea ecx, [esp + 0x1f4]
push dword [esp + 0x174]
push dword [esp + 0xf4]
mov edx, dword [esp + 0x184]
call fcn.00287547
add esp, 0xc
test eax, eax
je 0x296cbc
xorps xmm0, xmm0
mov ebp, 0x47e9b78
movlpd qword [esp + 0x1c8], xmm0
mov ebx, dword [esp + 0x1cc]
mov edi, dword [esp + 0x1c8]
mov ecx, 0x3a998b54
jmp 0x2965da
cmp ecx, 0x34c6fb5c
jg 0x296e20
je 0x296e0b
cmp ecx, 0x2ca54288
je 0x296ddb
cmp ecx, 0x2d07e00e
je 0x296d18
cmp ecx, esi
je 0x296f00
cmp ecx, 0x2f770c3f
jne 0x296edd
mov eax, dword [esp + 0x134]
mov eax, dword [esp + 0x1a0]
call fcn.0028db9e
jmp 0x296f13
push dword [esp + 0x50]
lea eax, [esp + 0x1ec]
push eax
push dword [esp + 0x60]
lea edx, [esp + 0x1ec]
call fcn.0028918d
add esp, 0xc
test eax, eax
je 0x296d88
mov eax, dword [esp + 0xf4]
mov ebp, 0x47e9b78
mov eax, dword [esp + 0x180]
mov eax, dword [esp + 0xfc]
mov eax, dword [esp + 0x104]
push ecx
push 0xef420
mov ecx, 0xdbba0
call fcn.0028e971
pop ecx
pop ecx
mov esi, eax
call fcn.0028c1c2
mov edi, eax
mov ebx, edx
add edi, esi
mov ecx, 0x138bbce5
adc ebx, 0
jmp 0x2965d5
mov eax, dword [esp + 0x188]
call fcn.0028f0e7
mov eax, dword [esp + 0x10c]
mov ebp, 0x47e9b78
mov eax, dword [esp + 0x114]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
push ecx
push 0x1f40
mov ecx, 0xfa0
call fcn.0028e971
pop ecx
pop ecx
mov esi, eax
call fcn.0028c1c2
mov edi, eax
mov ebx, edx
add edi, esi
mov ecx, 0x1ffb6811
adc ebx, 0
jmp 0x2965d5
mov eax, dword [esp + 0x70]
call fcn.0028e2be
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x190]
call fcn.0028eff1
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xe044364b
add ecx, 0x362000cb
jmp 0x2965da
mov dword [esp + 0x210], 0x1388
mov ecx, 0x47e9b78
jmp 0x2965da
cmp ecx, 0x34e97310
je 0x296e90
cmp ecx, 0x361a9b10
je 0x296e86
cmp ecx, 0x362000cb
je 0x296e69
cmp ecx, 0x3a998b54
jne 0x296edd
mov edx, dword [esp + 0x11c]
push dword [esp + 0x1e0]
mov ecx, dword [esp + 0x84]
call fcn.00299b59
pop ecx
mov ecx, 0x1ffb6811
jmp 0x2965da
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x124]
call fcn.00299a7e
mov ecx, 0x2f770c3f
jmp 0x2965da
mov ecx, 0x26fbbb65
jmp 0x2965da
mov eax, dword [esp + 0x90]
mov ebp, 0x2b30ffef
mov eax, dword [esp + 0x198]
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0xa0]
push ecx
push 0x2ee0
mov ecx, 0xfa0
call fcn.0028e971
pop ecx
pop ecx
mov esi, eax
call fcn.0028c1c2
mov edi, eax
mov ebx, edx
add edi, esi
mov esi, 0x2d3385b4
adc ebx, 0
mov ecx, 0x1cddb42d
cmp ecx, 0x33eb080d
jne 0x2965da
jmp 0x296f13
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0x12c]
call fcn.0028621f
jmp 0x296f13
mov eax, dword [esp + 0x140]
mov eax, dword [esp + 0x13c]
call fcn.00284f4c
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret