Function at 0x100ae930
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
mov eax, dword [0x101835f0]
xor eax, ebp
mov dword [esi + 0x78], eax
mov eax, dword [0x10181c4c]
xor edx, edx
div dword [0x10181c50]
mov ecx, 0xa7349ca2
xor edx, edx
div ecx
or eax, 0x5044402f
or eax, 0x2748a5b7
or eax, 0x9bada949
and eax, 0x2147de40
mov ecx, 0x58271922
xor edx, edx
div ecx
or eax, 0x820ce67b
or eax, 0xa72b3b5
xor eax, 0x8db5e03a
xor eax, 0x84ae288b
and eax, 0xc1db00bf
mov ecx, 0xbae3f33c
xor edx, edx
div ecx
add eax, 0xaea7cef5
mov ecx, 0xcdc28826
xor edx, edx
div ecx
and eax, 0x74e17bb7
sub eax, 0xe1550527
and eax, 0xbbe848aa
imul eax, eax, 0x87576253
add eax, 0x65aa1baf
mov ecx, 0x65644b99
xor edx, edx
div ecx
add eax, 0x5a457b5e
or eax, 0x932a2e61
sub eax, 0xdb6de06f
add eax, 0xc46813f7
sub eax, 0x233a5619
or eax, 0x4e3163d
or eax, 0xfc1e6050
sub eax, 0x6e2e476b
and eax, 0xf8447822
xor eax, 0xfd263999
add eax, 0xcb19adc9
mov ecx, 0x2b4f732f
xor edx, edx
div ecx
sub eax, 0x78673fe0
or eax, 0x5c219f44
and eax, 0x55b00058
imul eax, eax, 0x94cf4dc4
add eax, 0xbb7e43e0
add eax, 0xa4fb1e8e
cmp eax, 0x458d3c7c
jae 0x100af030
mov eax, dword [0x10181c54]
add eax, dword [0x10181c58]
imul eax, eax, 0xf40d9a1
mov ecx, 0x81efe52a
xor edx, edx
div ecx
mov ecx, 0x9e5c851b
xor edx, edx
div ecx
sub eax, 0x55160f8d
xor eax, 0x504dc4c9
add eax, 0x8843df91
add eax, 0x7d83ea06
sub eax, 0xcf628e29
and eax, 0xdf8d99c8
xor eax, 0xd9a65eb7
or eax, 0x31e73e15
imul eax, eax, 0xf9d8787
add eax, 0x8bf1fa3d
sub eax, 0xc26c372d
add eax, 0x319b9d33
xor eax, 0x3c08d6d6
xor eax, 0xba1c0325
or eax, 0xe3113237
add eax, 0x4ebcf0b5
and eax, 0x9b357fe
add eax, 0x1316667
and eax, 0x9f7706fc
and eax, 0x69f71a3a
xor eax, 0x88fccb83
imul eax, eax, 0x1ddc76f7
and eax, 0x1a9446c7
xor eax, 0xf230b12d
add eax, 0x7033fd68
and eax, 0x17b2bb0c
add eax, 0x1c44fd21
and eax, 0x2e9e71bd
and eax, 0x1d5e2961
add eax, 0x7e482a0a
mov ecx, 0x54ae8b4f
xor edx, edx
div ecx
xor eax, 0x605c0421
or eax, 0x3b3ad875
mov ecx, 0x6a5dfd4c
xor edx, edx
div ecx
add eax, 0x9c45f3db
cmp eax, 0xb01de4f2
jae 0x100af1e2
mov ecx, dword [esi + 0x70]
mov eax, 0xf3765f2f
mov dword [esi + 0x64], eax
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x68], edx
mov esp, edx
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x40], edi
mov esp, edi
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x60], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x44], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x48], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x4c], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x50], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x54], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x58], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x5c], edx
mov esp, edx
mov dword [eax], ecx
call fcn.10126e7e
mov ecx, eax
mov eax, dword [esi + 0x68]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10126e67
mov ecx, dword [esi + 0x60]
mov ebx, eax
mov eax, dword [esi + 0x64]
mov dword [edi + 4], edx
mov edx, dword [esi + 0x68]
mov dword [edi], ebx
mov dword [ecx + 4], 0
mov dword [ecx], 0x989680
mov ecx, dword [edx]
mov edx, dword [edx + 4]
xor ecx, 0x989680
or ecx, edx
sete cl
mov byte [esi + 0x6f], cl
cmp eax, 0xc416c8ac
jb 0x100aeb2b
mov eax, dword [0x10181c64]
imul eax, dword [0x10181c68]
mov ecx, 0xa017c522
xor edx, edx
div ecx
sub eax, 0xcffe6427
and eax, 0x5737a281
xor eax, 0x5f05c2ca
add eax, 0x9320891c
sub eax, 0xab709471
and eax, 0xbe2e8997
and eax, 0x15a45a2b
xor eax, 0x4536d7cb
add eax, 0x5e142a13
or eax, 0x2173ad78
or eax, 0xa7d4c67b
imul eax, eax, 0xeddb44a
xor eax, 0xa440fde3
add eax, 0x200fc195
or eax, 0x5d401e78
mov ecx, 0xebf0e4a
xor edx, edx
div ecx
and eax, 0xf69fdbbd
xor eax, 0xbe0f6a3d
imul eax, eax, 0x336a7da7
imul eax, eax, 0xa5f379c0
sub eax, 0xef303d95
mov ecx, 0x955ca617
xor edx, edx
div ecx
or eax, 0xa4e53188
or eax, 0xae10c4cf
or eax, 0x66845b66
xor eax, 0xa9214df7
add eax, 0x6988efe
and eax, 0x54ef2e4a
sub eax, 0x21af1431
add eax, 0x47c2ed9b
mov ecx, 0xcb11470
xor edx, edx
div ecx
imul eax, eax, 0xfbf6dc12
xor eax, 0xfd2ec2cf
mov ecx, 0x818ba731
xor edx, edx
div ecx
or eax, 0xc82535f1
mov ecx, 0x2f89735c
xor edx, edx
div ecx
or eax, 0xdfce1e7b
cmp eax, 0x18250542
je 0x100af030
mov al, byte [esi + 0x6f]
test al, 1
jne 0x100aed04
jmp 0x100aed56
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [eax + 4], 0
mov dword [eax], 0x64
mov eax, dword [edx]
mov ebx, dword [edx + 4]
mov edx, 0x64
mul edx
mov edi, eax
mov eax, dword [esi + 0x4c]
imul ebx, ebx, 0x64
add edx, ebx
mov dword [eax], edi
mov dword [eax + 4], edx
sub esp, 4
mov dword [esp], eax
call fcn.10125230
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x48]
sub esp, 4
mov dword [esp], eax
call fcn.10125250
jmp 0x100aee38
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x40]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10126c60
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x30], edx
mov edx, 0x3b9aca00
mov dword [esi + 0x34], edx
mul edx
mov ebx, eax
mov eax, dword [esi + 0x30]
mov edi, edx
mov edx, dword [esi + 0x40]
imul eax, eax, 0x3b9aca00
add edi, eax
mov eax, dword [esi + 0x68]
mov dword [ecx], ebx
mov dword [ecx + 4], edi
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10126d10
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mul ecx
mov ecx, eax
mov eax, dword [esi + 0x38]
imul eax, eax, 0x3b9aca00
add edx, eax
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], ebx
mov ebx, dword [esi + 0x54]
mov dword [eax + 8], edi
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.10126c60
mov ecx, dword [esi + 0x58]
mov edi, eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x3c], edi
mov edi, edx
mov edx, dword [esi + 0x3c]
mov dword [ebx + 4], edi
mov dword [ebx], edx
mov edi, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
add edi, eax
mov eax, dword [esi + 0x5c]
adc edx, ebx
mov dword [eax], edi
mov dword [eax + 4], edx
sub esp, 4
mov dword [esp], eax
call fcn.10125230
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x58]
sub esp, 4
mov dword [esp], eax
call fcn.10125250
mov eax, dword [0x10181c6c]
add eax, dword [0x10181c70]
or eax, 0xe7af7da1
xor eax, 0xc3114b47
imul eax, eax, 0xbf16c5eb
sub eax, 0x30ad0679
mov ecx, 0x173dd6aa
xor edx, edx
div ecx
imul eax, eax, 0xbd487ec5
and eax, 0x4973c734
and eax, 0x64e2d539
mov ecx, 0x2fb7836
xor edx, edx
div ecx
sub eax, 0xc4988518
or eax, 0x3ade9243
imul eax, eax, 0x150f7467
or eax, 0x7339e097
xor eax, 0xbebddc7
or eax, 0xc7dab4ea
and eax, 0xea84b8ff
or eax, 0x73e1db02
or eax, 0x1012411e
mov ecx, 0x6bb919f8
xor edx, edx
div ecx
mov ecx, 0x643154d8
xor edx, edx
div ecx
imul eax, eax, 0x86b2faec
imul eax, eax, 0x4bf09c92
or eax, 0x9a03c081
imul eax, eax, 0xb5428df0
imul eax, eax, 0x9bdb4a82
mov ecx, 0x54739f25
xor edx, edx
div ecx
and eax, 0xd3e2561d
mov ecx, 0xcaf24ad1
xor edx, edx
div ecx
sub eax, 0xf63e62e1
mov ecx, 0xa15fce5e
xor edx, edx
div ecx
add eax, 0x5bc2b0a3
sub eax, 0xb398be53
imul eax, eax, 0x961fe80b
xor eax, 0x7a8bdc66
xor eax, 0x697ab7f
add eax, 0xa3a9aa49
sub eax, 0x9e10c335
and eax, 0x9ad0f73b
cmp eax, 0x1dca6b4e
ja 0x100af289
mov eax, dword [0x10181c74]
xor edx, edx
div dword [0x10181c78]
or eax, 0x20af80b9
and eax, 0xac3f023d
or eax, 0xd2d8c4d4
mov ecx, 0xb2aa868d
xor edx, edx
div ecx
or eax, 0xbd32ce19
and eax, 0x62112bb8
add eax, 0x10506ba2
imul eax, eax, 0x902c9925
xor eax, 0xb233cda0
mov ecx, 0x6ba492c2
xor edx, edx
div ecx
imul eax, eax, 0x774a6007
or eax, 0x33a76bb7
and eax, 0x731061f5
and eax, 0x972d2f03
and eax, 0xa632fdc1
and eax, 0x96ade4cd
or eax, 0xacd1571e
imul eax, eax, 0x2820b908
add eax, 0x31d6557e
or eax, 0x81e13b42
imul eax, eax, 0xb22de720
or eax, 0x65cfb6da
or eax, 0xb28afd38
imul eax, eax, 0xf9235e89
sub eax, 0xb31c34ff
mov ecx, 0x95bf66bb
xor edx, edx
div ecx
xor eax, 0x76338d9a
sub eax, 0xd3342e5a
or eax, 0x54ba561a
or eax, 0x166b3e1b
xor eax, 0xd95d17df
imul eax, eax, 0x3acd0303
imul eax, eax, 0x2469dde8
imul eax, eax, 0xb0b0d8a8
sub eax, 0x801b13e2
and eax, 0x184d2722
sub eax, 0x1125d096
imul eax, eax, 0x88394bde
cmp eax, 0x7b5b87c9
je 0x100af289
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.10126c4a
mov eax, dword [esi + 0x74]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x10181c7c]
add eax, dword [0x10181c80]
mov ecx, 0x4a9fc838
xor edx, edx
div ecx
add eax, 0x223b327a
mov ecx, 0x5a4e5cc2
xor edx, edx
div ecx
and eax, 0xdcf56d36
sub eax, 0xbf4887e2
imul eax, eax, 0x3ccd0afe
or eax, 0xa6ba22fd
imul eax, eax, 0xb3199c29
mov ecx, 0xf589af28
xor edx, edx
div ecx
sub eax, 0x51d6f1fc
imul eax, eax, 0xb96409eb
mov ecx, 0x171e6587
xor edx, edx
div ecx
xor eax, 0xfb16dabf
sub eax, 0x83380038
and eax, 0x323d36ac
mov ecx, 0x29a016c7
xor edx, edx
div ecx
sub eax, 0xfafe6e25
or eax, 0xe59d4f70
or eax, 0xbd4d09d4
sub eax, 0xfcaea515
add eax, 0xddfa32f8
xor eax, 0x7aa6e474
add eax, 0x16a76f64
and eax, 0xe7d2649a
sub eax, 0xa3ecc1af
xor eax, 0x99b67741
or eax, 0x58cbf79b
mov ecx, 0xa886a27e
xor edx, edx
div ecx
sub eax, 0x35d7c041
xor eax, 0xca9b25ba
imul eax, eax, 0xbfe737d1
mov ecx, 0xc9b56525
xor edx, edx
div ecx
sub eax, 0x627cfcc6
imul eax, eax, 0x5d1fc463
mov ecx, 0xf2b42fea
xor edx, edx
div ecx
imul eax, eax, 0xd1691f7
sub eax, 0xcce2159d
imul eax, eax, 0xf1d957bd
cmp eax, 0xedd72b2c
jae 0x100af28e
mov ecx, dword [esi + 0x70]
mov eax, 0x3691c744
mov dword [esi + 0x28], eax
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x20], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x2c], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x24], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [eax], ecx
call fcn.10126e7e
mov ecx, eax
mov eax, dword [esi + 0x20]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10126e67
mov ecx, dword [esi + 0x24]
mov edi, eax
mov eax, dword [esi + 0x28]
mov ebx, edx
mov edx, dword [esi + 0x2c]
mov dword [edx + 4], ebx
mov dword [edx], edi
mov dword [ecx + 4], 0
mov dword [ecx], 0x989680
cmp eax, 0xcbef42de
ja 0x100af28e
jmp 0x100aea44
mov ecx, dword [esi + 0x70]
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x10], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x14], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x18], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [eax], ecx
call fcn.10126e7e
mov ecx, eax
mov eax, dword [esi + 0x10]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10126e67
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c], edi
mov edi, edx
mov edx, dword [esi + 0x1c]
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [eax + 4], 0
mov dword [eax], 0x989680
jmp 0x100aeb2b
jmp 0x100aef30
mov ecx, dword [esi + 0x70]
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 4], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [eax], ecx
call fcn.10126e7e
mov ecx, eax
mov eax, dword [esi]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10126e67
mov ecx, dword [esi + 4]
mov edi, eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], edi
mov edi, edx
mov edx, dword [esi + 0xc]
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [eax + 4], 0
mov dword [eax], 0x989680
jmp 0x100af12b