Function at 0x100670f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x14
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x100c50b0]
or eax, dword [0x100c50b4]
or eax, 0xd1126e22
and eax, 0x2d31649e
sub eax, 0x564b5e40
and eax, 0x5acbbe62
add eax, 0xd7b597a6
xor eax, 0xb5b03dce
mov ecx, 0xa7d5f584
xor edx, edx
div ecx
add eax, 0x4cf2572a
and eax, 0xfe0364e1
mov ecx, 0xb21410e4
xor edx, edx
div ecx
and eax, 0xf0fcd50e
xor eax, 0xd07ab276
imul eax, eax, 0x5e7e4031
add eax, 0xadd3833d
or eax, 0x1e684c5
or eax, 0x33dd36f
add eax, 0x4aa2ff21
sub eax, 0x148f19b4
sub eax, 0x88a0ce4c
imul eax, eax, 0xa5225ab7
or eax, 0xf63ceb28
add eax, 0x9a93b273
imul eax, eax, 0xc2bac01e
and eax, 0xa18626ae
or eax, 0xbc5c79f3
xor eax, 0xe95f3702
mov ecx, 0xfd85a6bf
xor edx, edx
div ecx
xor eax, 0x3c5633a3
add eax, 0x813c86e7
mov ecx, 0xa1602326
xor edx, edx
div ecx
and eax, 0xb802c86b
imul eax, eax, 0xfe74e2dd
mov ecx, 0x30504842
xor edx, edx
div ecx
imul eax, eax, 0xfa521d31
xor eax, 0x7c378944
xor eax, 0xa8c8987d
add eax, 0x94bb67cc
or eax, 0x18be4a97
and eax, 0xa3542610
or eax, 0x3cf20347
or eax, 0xf789f860
or eax, 0xdde828f
sub eax, 0x9205024e
sub eax, 0xd3f41d13
mov ecx, 0xad2764b8
xor edx, edx
div ecx
and eax, 0x3676a1b6
sub eax, 0xcb5b0813
mov ecx, 0x72b6d913
xor edx, edx
div ecx
or eax, 0x5550eb41
mov ecx, 0xc7da7ae2
xor edx, edx
div ecx
mov ecx, 0xd8769069
xor edx, edx
div ecx
or eax, 0xc6a14b0c
and eax, 0x7e69cae2
add eax, 0xb5015064
imul eax, eax, 0x630f76c1
or eax, 0xfa4df250
xor eax, 0xe5e3164b
mov ecx, 0x546d965d
xor edx, edx
div ecx
xor eax, 0x69c70d42
imul eax, eax, 0x1a2c1c6e
or eax, 0x27a23398
and eax, 0x3ce50f76
sub eax, 0xd0c87187
imul eax, eax, 0x9836c714
xor eax, 0x87482e4e
add eax, 0x11df8dd8
mov ecx, 0xd038409f
xor edx, edx
div ecx
sub eax, 0xd42c8b17
mov ecx, 0xf12a1001
xor edx, edx
div ecx
imul eax, eax, 0x67d3af40
imul eax, eax, 0xe0d6ca16
and eax, 0xf175d382
cmp eax, 0xde56e6f1
jae 0x100679d0
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0x528e2569
push eax
mov esi, esp
mov dword [ebp - 0x18], esi
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x14], ecx
cmp eax, 0xe01c4d36
jae 0x100672b9
jmp 0x100672e6
mov eax, dword [0x100c50c0]
and eax, dword [0x100c50c4]
sub eax, 0x6fdfff39
imul eax, eax, 0xe48454bb
imul eax, eax, 0x5f93e78e
mov ecx, 0x6559ae38
xor edx, edx
div ecx
add eax, 0x1856fc03
add eax, 0xae704b4b
and eax, 0xbe306a6e
mov ecx, 0xf7880ee8
xor edx, edx
div ecx
add eax, 0x6181dd4a
add eax, 0xe8c7adfa
or eax, 0x758146fc
sub eax, 0x53e694d8
or eax, 0x44e596a0
sub eax, 0x3a8bb82e
or eax, 0x44a0c4f
sub eax, 0xd0eeff7a
add eax, 0x4c2e3e65
xor eax, 0x651982f3
sub eax, 0xcac9c223
sub eax, 0x3fb40c00
sub eax, 0x73bf1b08
add eax, 0x8cc6b792
and eax, 0x4a6aadc9
xor eax, 0x85d1fbbd
or eax, 0x5b688a6a
or eax, 0xd0d42607
and eax, 0xc3e2296c
sub eax, 0x29b4d27b
xor eax, 0x53670857
imul eax, eax, 0x6fb14c65
sub eax, 0xed73851c
add eax, 0x7af4e097
and eax, 0xb27438f2
and eax, 0x946143cb
xor eax, 0xa3edb2f0
sub eax, 0xe9439e2d
or eax, 0x3a8dd5d8
sub eax, 0xded009c9
xor eax, 0x3a6597e6
xor eax, 0x6912a504
imul eax, eax, 0x95d3169c
add eax, 0xb0c6e8d0
mov ecx, 0x68ecc180
xor edx, edx
div ecx
imul eax, eax, 0x129613fd
or eax, 0x88db05fc
xor eax, 0x214282e8
add eax, 0x77a92ebb
sub eax, 0x3ad7fd5f
add eax, 0xdef669a4
xor eax, 0xd1000572
add eax, 0x37ff71cd
imul eax, eax, 0x21caafde
imul eax, eax, 0x4dd898c7
or eax, 0x620bdd2c
imul eax, eax, 0x4fefcb5d
or eax, 0x5c44ca18
and eax, 0x8cab0448
sub eax, 0x9987a468
mov ecx, 0xfc827f6
xor edx, edx
div ecx
xor eax, 0x9701269a
mov ecx, 0xe6d60d67
xor edx, edx
div ecx
add eax, 0xc9074e48
imul eax, eax, 0xae4fa1aa
or eax, 0xe0433143
xor eax, 0xb072dcf4
and eax, 0xfa0983b5
and eax, 0xdef4d279
and eax, 0x51bab222
sub eax, 0x7fa004d7
sub eax, 0x1440557f
sub eax, 0x78ab93ba
imul eax, eax, 0x252a28f2
cmp eax, 0xb9eba507
ja 0x100679e5
mov eax, dword [0x100c50c8]
add eax, dword [0x100c50cc]
add eax, 0xb6b0e6bf
xor eax, 0x1f28ad55
and eax, 0x2e3974d8
mov ecx, 0xa9a5dff4
xor edx, edx
div ecx
and eax, 0x156e421
xor eax, 0x5f3231d3
mov ecx, 0x1f152e6f
xor edx, edx
div ecx
sub eax, 0x267ddbb2
or eax, 0x577545d8
sub eax, 0xdd304426
mov ecx, 0x3e060bf3
xor edx, edx
div ecx
imul eax, eax, 0x68910aac
and eax, 0xc9a8d9cd
mov ecx, 0x687e8a17
xor edx, edx
div ecx
imul eax, eax, 0x137575b4
imul eax, eax, 0x969dbae4
sub eax, 0x640fe369
imul eax, eax, 0xfcab064c
mov ecx, 0x2ffb83e7
xor edx, edx
div ecx
xor eax, 0xebac3c38
or eax, 0xecd961f8
xor eax, 0x56d33e45
or eax, 0x2bf46460
add eax, 0x65fad918
or eax, 0xd6969063
imul eax, eax, 0x471fe3db
mov ecx, 0xe1137ac4
xor edx, edx
div ecx
and eax, 0xcd1486d2
add eax, 0x54d78766
or eax, 0x9cee6f5d
or eax, 0xc456876d
or eax, 0x36b7bd01
mov ecx, 0x5f16153
xor edx, edx
div ecx
add eax, 0xb6d16a13
and eax, 0x2d44c172
mov ecx, 0x8189fbde
xor edx, edx
div ecx
xor eax, 0xba66e3d1
sub eax, 0xff9025aa
and eax, 0x7264de58
and eax, 0xc9aad8b3
mov ecx, 0xf6165820
xor edx, edx
div ecx
and eax, 0x309e0423
xor eax, 0x61bb0b6c
or eax, 0xfd73efad
sub eax, 0x8cf957a5
sub eax, 0xb38bbe79
xor eax, 0xfe380621
sub eax, 0x723fdb9
mov ecx, 0x4c80989e
xor edx, edx
div ecx
imul eax, eax, 0x4670328e
xor eax, 0x9e7dca0
or eax, 0xeba9199c
imul eax, eax, 0xab6b6bad
mov ecx, 0x97b81e8f
xor edx, edx
div ecx
mov ecx, 0xb08ab5dc
xor edx, edx
div ecx
or eax, 0x965bc4f3
add eax, 0x4d20698a
and eax, 0x61628184
or eax, 0xd6f10b48
xor eax, 0x3f29e688
or eax, 0x8c9e41f6
sub eax, 0xb073ba6d
mov ecx, 0xbcb30a53
xor edx, edx
div ecx
add eax, 0xa61f37c3
mov ecx, 0xd6379376
xor edx, edx
div ecx
mov ecx, 0x96ad68ec
xor edx, edx
div ecx
imul eax, eax, 0xe888f449
mov ecx, 0x524a0087
xor edx, edx
div ecx
add eax, 0x44b79ee6
and eax, 0x3d962260
sub eax, 0xb855365c
or eax, 0x6aa7829c
cmp eax, 0x227c7b42
jbe 0x10067482
jmp 0x1006764d
mov eax, dword [0x100c50d0]
xor edx, edx
div dword [0x100c50d4]
and eax, 0xa6069833
mov ecx, 0x703e1ebf
xor edx, edx
div ecx
and eax, 0x1cf39f3d
imul eax, eax, 0xe2e90958
xor eax, 0x994c03d1
and eax, 0x517b0fa7
sub eax, 0x4ed735f5
mov ecx, 0xe5e2414c
xor edx, edx
div ecx
add eax, 0x24d696b8
add eax, 0x29b39def
add eax, 0xa005e387
xor eax, 0x8469ce1f
mov ecx, 0x7d81167c
xor edx, edx
div ecx
and eax, 0x9ba3bb85
or eax, 0x2cc734be
add eax, 0x18d799a0
imul eax, eax, 0xfccf9a70
and eax, 0x7714d4e2
xor eax, 0xc9054122
and eax, 0x2b44635
or eax, 0x7099a986
or eax, 0xca662164
or eax, 0x2d63c84a
add eax, 0xeb1540ed
sub eax, 0xc74afbda
add eax, 0x4c79b19b
mov ecx, 0xa73c8607
xor edx, edx
div ecx
or eax, 0x6a77b176
imul eax, eax, 0x3832af9b
and eax, 0x37001e60
add eax, 0x982b7dc
xor eax, 0xf228520f
or eax, 0xca84a4a3
sub eax, 0x844f2ace
xor eax, 0xf34b36ec
or eax, 0xe365bafe
imul eax, eax, 0x4571219b
or eax, 0x99f08b50
imul eax, eax, 0xb2f524d2
mov ecx, 0x72b8d7e2
xor edx, edx
div ecx
xor eax, 0x15f5a69d
add eax, 0xb791fe4
sub eax, 0xab8c6482
or eax, 0x6bdb1a0b
imul eax, eax, 0x5338e022
and eax, 0x433d216b
imul eax, eax, 0x18ea1f17
and eax, 0xa38c37b5
mov ecx, 0xacc10c2b
xor edx, edx
div ecx
mov ecx, 0x2b0c0f74
xor edx, edx
div ecx
and eax, 0xbca2f88b
and eax, 0x5fd3f5bc
or eax, 0x43b8d4e4
add eax, 0xe0a9daed
imul eax, eax, 0xcd32254b
or eax, 0xf68ecccf
sub eax, 0xbb28553f
sub eax, 0x2a0d1049
and eax, 0x8c4bc51b
imul eax, eax, 0xa9218844
add eax, 0x467ff49e
mov ecx, 0xc271ec48
xor edx, edx
div ecx
add eax, 0xd2a54ef4
add eax, 0x69dd766b
imul eax, eax, 0xb95543b6
add eax, 0xaf482920
or eax, 0x3ae6d87f
sub eax, 0x92bd8053
imul eax, eax, 0x85d64c9c
or eax, 0x5fbbc7c
sub eax, 0x8e5dad80
xor eax, 0x79db82e8
cmp eax, 0x1b4a4b88
jb 0x100679ea
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x100c50d8]
xor eax, dword [0x100c50dc]
add eax, 0x8706f277
xor eax, 0x8a5b2875
imul eax, eax, 0xf68a07f9
imul eax, eax, 0xf9566b5
sub eax, 0x4d945953
sub eax, 0x4abd00c4
and eax, 0xbee9a68c
add eax, 0x5129662
sub eax, 0x35b094ea
and eax, 0x74b031b1
and eax, 0x91c9fbc5
sub eax, 0x4fbc576f
or eax, 0xe64bb35d
and eax, 0xe3eb222
imul eax, eax, 0x4ff46e59
or eax, 0x20dfb0fd
imul eax, eax, 0xf6b69750
or eax, 0x2e9b1578
xor eax, 0x6082de95
xor eax, 0xd66e8115
or eax, 0xfea082c2
imul eax, eax, 0x8ed4264c
add eax, 0xdaa2c134
mov esi, 0xdff6a57b
xor edx, edx
div esi
and eax, 0xd3b2e29e
or eax, 0xe34b12d0
mov esi, 0xa44fcd7d
xor edx, edx
div esi
imul eax, eax, 0x4f61ab71
and eax, 0x2325301
add eax, 0xac9ccfd5
mov esi, 0x53d76f89
xor edx, edx
div esi
imul eax, eax, 0xdd37ec28
or eax, 0x417efd8d
imul eax, eax, 0x9819395f
imul eax, eax, 0x157ca51e
xor eax, 0xd116e3af
add eax, 0x948efe21
add eax, 0xa57d407a
xor eax, 0x89beccff
imul eax, eax, 0xf5259bdc
add eax, 0x3281c2ab
sub eax, 0x70f78712
add eax, 0x67cbf4a7
or eax, 0x879d70a4
and eax, 0x327b931e
mov esi, 0xef566066
xor edx, edx
div esi
add eax, 0x43d6e77f
or eax, 0xdfc7137f
and eax, 0xdab394a5
and eax, 0x936519f4
xor eax, 0x8548b343
or eax, 0xf8f2e2d3
or eax, 0x3257461d
mov esi, 0x2283a7f7
xor edx, edx
div esi
and eax, 0xbdb8df7
add eax, 0x62983154
add eax, 0x1cc75e81
mov esi, 0x56d234e7
xor edx, edx
div esi
add eax, 0x1a5bebc5
sub eax, 0xcd984e9f
imul eax, eax, 0x3773028
add eax, 0xbd51a711
mov esi, 0x39e60a3f
xor edx, edx
div esi
mov esi, 0x3ce564a1
xor edx, edx
div esi
mov edx, eax
mov eax, dword [ebp - 0x18]
xor edx, 0xd9a8df28
and edx, 0x7d06e716
and edx, 0x25968eea
add edx, 0x1edf654a
imul edx, edx, 0xe7683680
xor edx, 0xfc436e66
or edx, 0x295782d6
sub edx, 0x2fb8355f
mov dword [ebp - 0x1c], edx
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], edx
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x859e3579
jae 0x100679ea
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x100672b9
jmp 0x10067482
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], edx
call dword [eax + 4]
jmp 0x100677f8