Function at 0x1003f6a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100db8d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x100da5e0]
sub eax, dword [0x100da5e4]
and eax, 0x6aeac9b
mov ecx, 0x5943eb9c
xor edx, edx
div ecx
or eax, 0x36fde6de
or eax, 0x5af7608f
and eax, 0xf0ba9776
add eax, 0x62622834
add eax, 0x94032eb1
add eax, 0xb7d8b0c2
xor eax, 0x68745d98
xor eax, 0x8fa4604
and eax, 0xdfa439f3
add eax, 0xedc52e6b
sub eax, 0x8752dc43
or eax, 0xb108ec21
or eax, 0xbb830c7
add eax, 0x8a01f305
sub eax, 0x64ebc9f
mov ecx, 0x422d251d
xor edx, edx
div ecx
add eax, 0x39580e51
imul eax, eax, 0x4bd8d921
xor eax, 0x5e84e47f
xor eax, 0x3072e0e3
or eax, 0xf4d8015a
and eax, 0x9d92ff17
and eax, 0xa45b9462
xor eax, 0xd2ec5837
imul eax, eax, 0xbeff4482
and eax, 0x3ebf73e4
add eax, 0xdcbc1d9d
sub eax, 0xdea63619
xor eax, 0xc698fa82
imul eax, eax, 0x1f4e691d
or eax, 0xa7d9fc6b
sub eax, 0x239f6103
sub eax, 0x1fbc830d
imul eax, eax, 0xedd8e16b
mov ecx, 0xc202b9c7
xor edx, edx
div ecx
imul eax, eax, 0xf5fa7916
mov ecx, 0xa0cf30e9
xor edx, edx
div ecx
xor eax, 0xb0554d01
and eax, 0xd6a9c208
mov ecx, 0xe60d47aa
xor edx, edx
div ecx
add eax, 0x5100989e
xor eax, 0x3cd2f859
xor eax, 0x28bd68ce
xor eax, 0xf35addf4
add eax, 0xfb1503ac
and eax, 0xff5f6386
or eax, 0xd064f1f8
xor eax, 0x53953aae
sub eax, 0xd3c8991e
imul eax, eax, 0x75427ad2
add eax, 0x7fa417a6
or eax, 0xd0d1cc20
add eax, 0x30cb036f
add eax, 0xf07ec4cd
and eax, 0xbe671f07
and eax, 0x79ba597e
imul eax, eax, 0xa9d46719
imul eax, eax, 0x6843af3f
xor eax, 0xc7cdd147
xor eax, 0x82659b69
and eax, 0x3718bffe
mov ecx, 0x5aaeacf0
xor edx, edx
div ecx
and eax, 0xc160a192
xor eax, 0xab21d73
mov ecx, 0xa77787d3
xor edx, edx
div ecx
and eax, 0xe3bebb73
imul eax, eax, 0x81aad714
add eax, 0x55ebdf5d
add eax, 0xccad37f6
add eax, 0xe6bb77e
cmp eax, 0xc23f8e84
ja 0x100408ec
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, 0x60000608
push eax
push eax
mov ecx, esp
mov dword [ebp - 0x44], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x28], ecx
push eax
mov edi, esp
mov dword [ebp - 0x40], edi
push eax
mov ecx, esp
mov dword [ebp - 0x24], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x3c], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x38], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x34], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x30], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ecx], edx
mov edx, dword [ebp - 0x24]
mov dword [edi], ebx
mov dword [edx], esi
cmp dword [ecx], 0xa
setg cl
mov byte [ebp - 0x1d], cl
cmp eax, 0x36cb3920
jbe 0x100408ec
mov al, byte [ebp - 0x1d]
test al, 1
jne 0x1003f8e7
jmp 0x1003f8fe
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx]
mov dword [eax], edx
mov ecx, dword [ecx]
mov dword [eax + 4], ecx
jmp 0x100408c6
mov eax, dword [0x100da5f0]
xor eax, dword [0x100da5f4]
or eax, 0xa30c069c
and eax, 0xc8ddde1c
and eax, 0xeaab394e
imul eax, eax, 0xdb37ca25
and eax, 0xd26ff438
sub eax, 0x9cc595ea
and eax, 0x84e9eec
add eax, 0xffe08def
xor eax, 0x81077c22
add eax, 0xcf1d5508
and eax, 0x7f077ff0
sub eax, 0xe3676a6e
sub eax, 0xbedeb48d
xor eax, 0xc1a08176
xor eax, 0x2aa1b5a0
add eax, 0x3ed7617
imul eax, eax, 0x88614043
imul eax, eax, 0x72eecbd3
and eax, 0x8026634b
sub eax, 0xc865cf22
xor eax, 0xe872018b
imul eax, eax, 0xb52c6146
add eax, 0xf2e8a2fb
or eax, 0xa5a25c18
imul eax, eax, 0xbf1da59b
or eax, 0x136bd995
and eax, 0x41e4f35f
imul eax, eax, 0x51c4b688
and eax, 0x61517c69
imul eax, eax, 0x294d9205
xor eax, 0xf482c0fc
mov ecx, 0xc760a374
xor edx, edx
div ecx
add eax, 0xb2309ce4
add eax, 0x9eeeee12
mov ecx, 0x25709e2a
xor edx, edx
div ecx
or eax, 0xdb828013
and eax, 0x70c79ceb
xor eax, 0x82d55ba
mov ecx, 0xd2d133e5
xor edx, edx
div ecx
sub eax, 0xa58da1a9
or eax, 0xadc02fb8
sub eax, 0x7cecc16c
or eax, 0xc8f57be5
imul eax, eax, 0x9aa1391b
add eax, 0xa60cf829
xor eax, 0xa055b641
add eax, 0x937e338a
add eax, 0x7eac009b
xor eax, 0xca4f51a5
and eax, 0xf74d5eb4
imul eax, eax, 0xfb7796c8
or eax, 0x396f24cb
imul eax, eax, 0x8aaf08b7
imul eax, eax, 0x921b481f
or eax, 0x7479320b
xor eax, 0x94c5e13d
or eax, 0xa6c6b88b
sub eax, 0xc442f272
mov ecx, 0x30037fe9
xor edx, edx
div ecx
or eax, 0x8bd3baa1
add eax, 0x2f04381b
add eax, 0x23aaee66
sub eax, 0x979aeabc
xor eax, 0xd1fed6b3
add eax, 0x1645aa48
imul eax, eax, 0x6af8bf1c
and eax, 0x82344c46
imul eax, eax, 0xa4369097
or eax, 0xa930a560
add eax, 0x6f3590e3
add eax, 0xa2d6eb6c
mov ecx, 0xfd6e95cd
xor edx, edx
div ecx
cmp eax, 0x163b5f3a
jae 0x1004090b
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x100da5f8]
and eax, dword [0x100da5fc]
xor eax, 0xa9a106b0
xor eax, 0x63412850
mov esi, 0x145843aa
xor edx, edx
div esi
add eax, 0x46b34962
imul eax, eax, 0xc1538bf9
xor eax, 0x666a9cd6
sub eax, 0x6a63a50c
sub eax, 0xc6e29a08
sub eax, 0xd407e7aa
sub eax, 0xde7e4b18
add eax, 0x753fd2b1
sub eax, 0x4b2c0527
or eax, 0x9a82a417
or eax, 0x2712127e
and eax, 0x249fdb57
add eax, 0x9548b9ac
or eax, 0x31f7a9a4
mov esi, 0xed0cdcf4
xor edx, edx
div esi
and eax, 0x9ce51a3
imul eax, eax, 0x681b64e8
or eax, 0xa309ee3b
and eax, 0x3e2877fe
mov esi, 0xbbebb72b
xor edx, edx
div esi
and eax, 0x25efb1a
xor eax, 0x68c19e6b
or eax, 0x7cb07628
sub eax, 0x6b97fe67
imul eax, eax, 0xa1ee302f
add eax, 0x866b1984
imul eax, eax, 0xc0b1fe2d
imul eax, eax, 0x49a00e4b
imul eax, eax, 0x7b712864
and eax, 0xeeb9adf
or eax, 0xbf7dc61c
sub eax, 0x70fa2194
xor eax, 0x6012cbd4
sub eax, 0x841d3349
xor eax, 0xfec53de9
xor eax, 0x7898cd50
and eax, 0xe469d359
and eax, 0x29608dec
xor eax, 0x90c4c44f
and eax, 0xbfab38e6
imul eax, eax, 0xf31ac288
sub eax, 0xb3477bc0
imul eax, eax, 0xc2e12634
and eax, 0x6d7cc20c
and eax, 0x92f62d26
mov esi, 0xe0381ace
xor edx, edx
div esi
sub eax, 0xd38faa98
xor eax, 0xacc50b42
or eax, 0xb820da00
xor eax, 0xd0a7d822
mov esi, 0xf2a1413c
xor edx, edx
div esi
or eax, 0x30b97927
and eax, 0x3d217e64
or eax, 0x186bbd8b
add eax, 0x46b58784
mov esi, 0x729a17ec
xor edx, edx
div esi
or eax, 0x95d03871
and eax, 0x43624d2e
mov esi, 0x954bb282
xor edx, edx
div esi
imul eax, eax, 0x553c4b35
and eax, 0x84ca062a
xor eax, 0x379ae0a9
and eax, 0xe29e9544
and eax, 0x7acb3000
xor eax, 0xeebf7442
and eax, 0xaa6d639
mov esi, 0xf102a9e5
xor edx, edx
div esi
mov edx, dword [ebp - 0x40]
sub eax, 0xa1d8f956
xor eax, 0x2780f538
mov ecx, dword [ecx]
cmp ecx, dword [edx]
setg cl
mov byte [ebp - 0x45], cl
cmp eax, 0x4f4bda74
je 0x1004090b
mov al, byte [ebp - 0x45]
test al, 1
jne 0x1003fc64
jmp 0x1003fef6
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, 2
cdq
idiv ecx
cmp edx, 0
jne 0x1003fea9
mov eax, dword [0x100da600]
xor eax, dword [0x100da604]
mov ecx, 0x1a7abc3e
xor edx, edx
div ecx
imul eax, eax, 0x27888520
and eax, 0xd354513d
mov ecx, 0xeb3211e
xor edx, edx
div ecx
sub eax, 0x1c1c5c7
xor eax, 0x846436aa
imul eax, eax, 0x3e71a0ec
mov ecx, 0x960bdd42
xor edx, edx
div ecx
and eax, 0xaa803442
xor eax, 0x542f1306
or eax, 0x2761fd9a
add eax, 0xfe76adb6
mov ecx, 0x1c92a863
xor edx, edx
div ecx
imul eax, eax, 0xea300e9a
add eax, 0x8484c4cc
or eax, 0xb39f4981
add eax, 0x5d171ee4
mov ecx, 0x8459fe8c
xor edx, edx
div ecx
mov ecx, 0x7bc5ca03
xor edx, edx
div ecx
xor eax, 0x7cbb710c
add eax, 0x15a9b970
sub eax, 0x53f6db06
xor eax, 0x94923892
xor eax, 0x6759eaee
xor eax, 0x3c0549cf
xor eax, 0xcbb14de5
sub eax, 0xea1f01e6
and eax, 0x4a93cc92
imul eax, eax, 0xe8350e51
or eax, 0xc5aa7a83
or eax, 0xbadae43d
or eax, 0x6e55a5f7
sub eax, 0x46b6dc6
imul eax, eax, 0x8182c321
add eax, 0x18677fa6
mov ecx, 0xbc926114
xor edx, edx
div ecx
add eax, 0x85322f38
add eax, 0x3926d11
and eax, 0xbcfc66f
xor eax, 0x5ba7b8f5
xor eax, 0x7ed9708d
mov ecx, 0xc949459e
xor edx, edx
div ecx
xor eax, 0x1c2a9d7
mov ecx, 0xeecd8cff
xor edx, edx
div ecx
sub eax, 0xcaa3d458
and eax, 0xb431891e
imul eax, eax, 0x4e714739
imul eax, eax, 0xc55c914e
mov ecx, 0xdb365b96
xor edx, edx
div ecx
sub eax, 0x42dd66ed
add eax, 0xc047dcca
mov ecx, 0xae9e8670
xor edx, edx
div ecx
or eax, 0xded979db
xor eax, 0x7041b95d
mov ecx, 0x9657e27
xor edx, edx
div ecx
imul eax, eax, 0x5436f001
xor eax, 0x945fe60e
imul eax, eax, 0x427a3b56
add eax, 0x11058653
mov ecx, 0x2dc36af9
xor edx, edx
div ecx
xor eax, 0xdc932b1e
xor eax, 0x6e30c25e
sub eax, 0xdcc5ef01
xor eax, 0xe63e574
and eax, 0xf4de8141
mov ecx, 0x42c1ae4f
xor edx, edx
div ecx
and eax, 0x50a16271
imul eax, eax, 0x1edfa2d0
mov ecx, 0x84728ba4
xor edx, edx
div ecx
add eax, 0xedb544af
add eax, 0xc366b8c6
xor eax, 0x941a8942
cmp eax, 0xd4e28936
je 0x10040910
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x28]
mov edi, 0x4617fcd8
mov dword [ebp - 0x4c], edi
mov edi, dword [edx]
inc edi
mov edx, dword [ecx]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x1f
add ecx, eax
sar ecx, 1
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov edi, eax
mov eax, dword [ebp - 0x4c]
mov ebx, edx
mov edx, dword [ebp - 0x24]
mov dword [esi + 4], ebx
mov dword [esi], edi
mov edi, dword [esi]
mov dword [ecx], edi
mov esi, dword [esi + 4]
mov dword [ecx + 4], esi
mov edx, dword [edx]
add edx, dword [ecx]
mov dword [ecx], edx
cmp eax, 0x27945d28
je 0x1003fe3e
jmp 0x1003fef1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x28]
mov esi, dword [edx]
inc esi
mov edx, dword [ecx]
mov ecx, dword [eax]
dec ecx
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x44]
mov edi, edx
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], edi
mov dword [edx], esi
mov esi, dword [edx]
mov dword [eax], esi
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx]
add ecx, dword [eax]
mov dword [eax], ecx
jmp 0x100408c1
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp eax, dword [ecx]
jge 0x1004069f
mov eax, dword [0x100da610]
and eax, dword [0x100da614]
xor eax, 0x8c4c4a33
or eax, 0x42f3c8a4
add eax, 0xb2836a81
xor eax, 0x37805f44
sub eax, 0x60da37d7
and eax, 0x92d8d561
xor eax, 0xc7ff38c3
or eax, 0xa89df169
add eax, 0x8d8356f3
and eax, 0x482bc41b
or eax, 0x9be46d74
and eax, 0xf8024af
xor eax, 0xac7db103
xor eax, 0x8ea83f83
or eax, 0xd8fd5c16
mov ecx, 0x38cf0878
xor edx, edx
div ecx
add eax, 0xea31501a
xor eax, 0xabcf21c
or eax, 0x92374d44
and eax, 0x2dd834cf
mov ecx, 0x66debfb6
xor edx, edx
div ecx
xor eax, 0x70af91ab
mov ecx, 0x38b3cf07
xor edx, edx
div ecx
and eax, 0x9ba5453
sub eax, 0x2bf8f3a6
or eax, 0xf6f1366
add eax, 0x69114287
or eax, 0x1babd8db
or eax, 0xa3f51eb5
add eax, 0xb30ff4a2
mov ecx, 0x2c7fe23
xor edx, edx
div ecx
add eax, 0xbcb92324
imul eax, eax, 0x9d1cb139
add eax, 0xa4da8530
sub eax, 0xbaa31aa5
sub eax, 0xee2fa6f5
imul eax, eax, 0xf7be6394
xor eax, 0xc78efd40
sub eax, 0xd3b10f06
or eax, 0x8144fcce
mov ecx, 0x23e11362
xor edx, edx
div ecx
mov ecx, 0x27f3e602
xor edx, edx
div ecx
sub eax, 0xc005380d
and eax, 0x453becdd
add eax, 0x84b48133
xor eax, 0x9c56705c
or eax, 0xeb77fffd
imul eax, eax, 0x8d563fa2
and eax, 0x56b00eb8
or eax, 0x7c494404
add eax, 0x46fa441d
add eax, 0x3c4ae1f2
mov ecx, 0xcd5443f7
xor edx, edx
div ecx
and eax, 0xc18872d6
add eax, 0x87d5909b
or eax, 0x994c0dec
add eax, 0x2f9b1ef9
sub eax, 0x6514cbfe
mov ecx, 0x72016808
xor edx, edx
div ecx
add eax, 0x9d421e7f
imul eax, eax, 0x1d2a5a46
add eax, 0x362932b4
add eax, 0xa035e836
xor eax, 0xbe1dd8fb
add eax, 0xb5123efa
sub eax, 0xee27df03
or eax, 0xc44be0a1
or eax, 0xb338b5c6
xor eax, 0xbe637308
mov ecx, 0xf324cd5a
xor edx, edx
div ecx
sub eax, 0xbb35d6fd
mov ecx, 0x6b74e0c5
xor edx, edx
div ecx
cmp eax, 0xbdd40cea
ja 0x10040967
mov eax, dword [0x100da618]
and eax, dword [0x100da61c]
add eax, 0xf273356a
mov ecx, 0xa933c6fb
xor edx, edx
div ecx
mov ecx, 0x2e3dfa7b
xor edx, edx
div ecx
mov ecx, 0xa8d856ad
xor edx, edx
div ecx
sub eax, 0x5fa151bc
imul eax, eax, 0xf4acaeaf
or eax, 0xd97805cb
imul eax, eax, 0xba26ec00
add eax, 0x31fc87dd
add eax, 0xba436307
imul eax, eax, 0x3853bb38
or eax, 0x469fc0f4
mov ecx, 0x9e204175
xor edx, edx
div ecx
or eax, 0x89fef96f
and eax, 0xf14802eb
xor eax, 0xd3a03f9d
or eax, 0xcba00e0f
imul eax, eax, 0xda883e62
xor eax, 0xa1ee64e
and eax, 0xf1714da1
imul eax, eax, 0xe46cd26a
sub eax, 0x6a90acab
add eax, 0xbd5baf1f
or eax, 0x6dd6203b
and eax, 0x98cf4693
and eax, 0x6037765b
sub eax, 0x526652db
or eax, 0xd164f49d
sub eax, 0x13bdf642
sub eax, 0x92eb1fea
and eax, 0x18252b98
and eax, 0x69d898f5
and eax, 0xd8fd0aa
add eax, 0x95e3df44
and eax, 0x5765372e
or eax, 0xbba35fc8
mov ecx, 0x546ad9cd
xor edx, edx
div ecx
or eax, 0xb9ece883
imul eax, eax, 0xc6d34eae
imul eax, eax, 0x97df52e9
add eax, 0xc873dc50
mov ecx, 0x8cc20478
xor edx, edx
div ecx
imul eax, eax, 0xf3cd244f
xor eax, 0xe3403538
add eax, 0x2b81e1e8
or eax, 0xa0928c76
sub eax, 0xfe15e9b3
add eax, 0xd46cb51d
sub eax, 0x26d718bd
or eax, 0xf3ce627
add eax, 0x36ff763c
add eax, 0x210f30b3
mov ecx, 0x25b43a59
xor edx, edx
div ecx
imul eax, eax, 0xbc191be4
imul eax, eax, 0xc3f7cc73
imul eax, eax, 0x7165abd7
imul eax, eax, 0x5b215baa
add eax, 0x307c7bbe
or eax, 0x825c0959
imul eax, eax, 0xeaaf2733
sub eax, 0x5381a360
and eax, 0x3425c82e
sub eax, 0x30721d76
or eax, 0xa6bedc07
sub eax, 0x5dc69a80
or eax, 0x7919a557
mov ecx, 0x28d40317
xor edx, edx
div ecx
add eax, 0x393c63e2
xor eax, 0xc7a74df
add eax, 0xe9e919a
mov ecx, 0xafe26031
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x40]
or ecx, 0xa3720468
mov dword [ebp - 0x54], ecx
mov eax, dword [eax]
mov ecx, 2
cdq
idiv ecx
mov eax, dword [ebp - 0x54]
cmp edx, 0
sete cl
mov byte [ebp - 0x4d], cl
cmp eax, 0x422218eb
jb 0x100400b0
mov al, byte [ebp - 0x4d]
test al, 1
jne 0x1004028e
jmp 0x100402e5
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov esi, dword [edx]
inc esi
mov ecx, dword [ecx]
mov edx, ecx
shr edx, 0x1f
add ecx, edx
sar ecx, 1
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax], edx
mov dword [eax + 4], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x44]
mov edi, edx
mov edx, dword [ebp - 0x34]
mov dword [edx + 4], edi
mov dword [edx], esi
mov esi, dword [edx]
mov dword [eax], esi
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx]
add ecx, dword [eax + 4]
mov dword [eax + 4], ecx
jmp 0x1004032f
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov esi, dword [edx]
inc esi
mov edx, dword [ecx]
dec edx
mov ecx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x44]
mov edi, edx
mov edx, dword [ebp - 0x30]
mov dword [edx + 4], edi
mov dword [edx], esi
mov esi, dword [edx]
mov dword [eax], esi
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx]
add ecx, dword [eax + 4]
mov dword [eax + 4], ecx
mov eax, dword [0x100da620]
imul eax, dword [0x100da624]
sub eax, 0x6799b241
xor eax, 0x21661482
and eax, 0x41fbb08c
mov ecx, 0x176ab846
xor edx, edx
div ecx
add eax, 0x398cd62e
xor eax, 0x2e58c8d7
imul eax, eax, 0x33e4708f
imul eax, eax, 0x1e17e2cd
add eax, 0xc55db47f
mov ecx, 0x26eea18
xor edx, edx
div ecx
imul eax, eax, 0x6f9f460e
xor eax, 0x28c9d7ab
mov ecx, 0xad928b7e
xor edx, edx
div ecx
sub eax, 0xb9ab5447
and eax, 0xf06b3ac8
add eax, 0xb335980d
and eax, 0xc21558e5
sub eax, 0xc4b5e664
sub eax, 0x9f62d39d
and eax, 0xdb4be635
add eax, 0xd3940e76
add eax, 0x95fbc7e5
and eax, 0xd95b7383
mov ecx, 0x247f1c89
xor edx, edx
div ecx
mov ecx, 0xb9cb6aa
xor edx, edx
div ecx
add eax, 0x601dcc60
and eax, 0x98c3e69
imul eax, eax, 0x361584ee
add eax, 0xc89d9588
or eax, 0xfce5d81c
or eax, 0x628e77d9
add eax, 0xaa173b76
imul eax, eax, 0x4f052ce6
or eax, 0x2a9c9666
imul eax, eax, 0xc6b697c2
sub eax, 0x61440ea0
xor eax, 0xbcfd6ad7
imul eax, eax, 0xd750ffb4
sub eax, 0xc0be8a96
sub eax, 0xf24c9b62
add eax, 0x76dbd8de
sub eax, 0x9623bac
sub eax, 0xfdf9aa8a
imul eax, eax, 0xbfe8f6a4
sub eax, 0xadd5f744
add eax, 0x2a0186c4
sub eax, 0x2004f24a
and eax, 0xe3f9ced7
add eax, 0x2ef176c9
add eax, 0xaf9782a6
xor eax, 0x25c81b82
sub eax, 0x92bf6539
xor eax, 0x7ea96c30
mov ecx, 0x509e2ea0
xor edx, edx
div ecx
and eax, 0xac17c9b6
mov ecx, 0xac81ddad
xor edx, edx
div ecx
xor eax, 0xb047f95a
sub eax, 0xba8d91a8
xor eax, 0x778d5ea6
or eax, 0x92aa68f9
xor eax, 0x58986e50
mov ecx, 0xf7a21ead
xor edx, edx
div ecx
mov ecx, 0x336bd35b
xor edx, edx
div ecx
add eax, 0xdc9e562a
and eax, 0xd92b3ec6
xor eax, 0x9d51302e
xor eax, 0x490454f4
xor eax, 0x12708ffa
and eax, 0xf372cb29
imul eax, eax, 0xf7b17d91
and eax, 0x18074ebd
xor eax, 0xc3e4231d
cmp eax, 0xf89db02d
ja 0x1004096c
mov eax, dword [0x100da628]
imul eax, dword [0x100da62c]
mov ecx, 0xa246fdff
xor edx, edx
div ecx
and eax, 0x34594762
and eax, 0xe43d1de6
and eax, 0x691b9875
add eax, 0x71a261db
mov ecx, 0x9f04deb9
xor edx, edx
div ecx
or eax, 0x1096b663
and eax, 0xd6c781a9
and eax, 0x5624e2cc
sub eax, 0x52b5f02c
add eax, 0xbc293b1b
or eax, 0x45ca79fd
add eax, 0x3c6d2940
add eax, 0x2b14dae3
mov ecx, 0x4381e596
xor edx, edx
div ecx
and eax, 0xdf0179d5
xor eax, 0x2d67e57f
and eax, 0x7f1ed030
and eax, 0x17ff249c
sub eax, 0x6f8ca3ce
xor eax, 0x7eb4b0f7
and eax, 0x7a87d006
mov ecx, 0x32cb4203
xor edx, edx
div ecx
or eax, 0x2cdca358
sub eax, 0xd4ddc44c
or eax, 0x2e595e1a
or eax, 0x498db8d8
and eax, 0x88b00a0f
or eax, 0x755d8533
sub eax, 0x4a7a84fa
imul eax, eax, 0x6fe02925
or eax, 0x490b6754
sub eax, 0x60089aab
sub eax, 0xc83cfa42
add eax, 0x54261f7e
add eax, 0x745c610c
sub eax, 0x9815cc08
or eax, 0x92239670
xor eax, 0x4db305e5
mov ecx, 0xfe22dd4e
xor edx, edx
div ecx
and eax, 0x1676aa31
add eax, 0xadecccb3
sub eax, 0x239b9146
xor eax, 0xd1f9caf2
mov ecx, 0xbfa4c90e
xor edx, edx
div ecx
mov ecx, 0xf7b4936b
xor edx, edx
div ecx
xor eax, 0xcfb50fcd
add eax, 0xb80bdfb3
mov ecx, 0xd56a0748
xor edx, edx
div ecx
mov ecx, 0x7c82ce5d
xor edx, edx
div ecx
xor eax, 0xe0f1de8d
add eax, 0xc2def041
xor eax, 0x1e256cc7
add eax, 0x69ef5b4e
or eax, 0xa846bbe1
mov ecx, 0xf58d0af9
xor edx, edx
div ecx
mov ecx, 0x54715ad
xor edx, edx
div ecx
or eax, 0xdc82432e
imul eax, eax, 0xd08cea1e
and eax, 0xd9e2a644
and eax, 0x8312739c
sub eax, 0xe986c8de
mov ecx, 0x6bae25b5
xor edx, edx
div ecx
imul eax, eax, 0x2fb33466
mov ecx, 0xf436c3fa
xor edx, edx
div ecx
mov ecx, 0x748332d4
xor edx, edx
div ecx
sub eax, 0xdabc39e9
imul eax, eax, 0xad3a5ee2
or eax, 0x51ba2fde
add eax, 0x29949789
and eax, 0x5c25dbf5
mov ecx, 0x6b867902
xor edx, edx
div ecx
cmp eax, 0x6f411747
ja 0x1004096c
jmp 0x100408bc
mov eax, dword [0x100da630]
and eax, dword [0x100da634]
imul eax, eax, 0x3304febb
xor eax, 0xde08b31c
sub eax, 0x6821c8e0
and eax, 0xc015566b
add eax, 0xa85f6176
sub eax, 0x86308150
imul eax, eax, 0xdc9687b4
mov ecx, 0x853a9f90
xor edx, edx
div ecx
imul eax, eax, 0x94014b1a
add eax, 0x35232769
xor eax, 0x399c4037
imul eax, eax, 0x37f6950b
sub eax, 0x9d2eaa26
sub eax, 0x27689821
mov ecx, 0x8a67f90f
xor edx, edx
div ecx
or eax, 0x2021e93e
or eax, 0xefe722b8
xor eax, 0xc2df0058
and eax, 0x3ec4ade0
mov ecx, 0x7fd85a1f
xor edx, edx
div ecx
mov ecx, 0x46622710
xor edx, edx
div ecx
imul eax, eax, 0xc26f9e5a
and eax, 0xeb75f2c3
xor eax, 0x664e249
or eax, 0x50477c0f
and eax, 0xfd0c1f84
xor eax, 0xcaba867d
add eax, 0x86313eae
mov ecx, 0x2597ff52
xor edx, edx
div ecx
mov ecx, 0x59dd282a
xor edx, edx
div ecx
mov ecx, 0x862a8c8f
xor edx, edx
div ecx
and eax, 0x8ddee65
add eax, 0xc3ae894e
xor eax, 0x530f288f
imul eax, eax, 0x9abad2b7
xor eax, 0xa4485fc5
xor eax, 0xb5e242fc
add eax, 0x501c51de
add eax, 0x3a9ab04
or eax, 0x44bffb29
add eax, 0x5ad73e78
sub eax, 0x72bedfac
sub eax, 0xe167f3b5
and eax, 0x35bd4cab
sub eax, 0xf0dc4e61
xor eax, 0xb6419854
and eax, 0x33932d40
mov ecx, 0xfcd5d46e
xor edx, edx
div ecx
xor eax, 0x6c4c4c20
xor eax, 0x7347738b
or eax, 0xf9e9cfc
or eax, 0xd5a8231e
imul eax, eax, 0x6f22f5e1
xor eax, 0xa2246656
add eax, 0xe65644d5
sub eax, 0xe3d8fa87
mov ecx, 0xa981c765
xor edx, edx
div ecx
or eax, 0x9090d50d
imul eax, eax, 0xb6b8098
and eax, 0xd3ed7f3f
xor eax, 0x5977a477
sub eax, 0x7a2dba79
or eax, 0x2f9c333
imul eax, eax, 0x68dde9fb
mov ecx, 0x2373cd1
xor edx, edx
div ecx
add eax, 0x177c3cd2
xor eax, 0x63cc795c
and eax, 0x83c9530a
add eax, 0xd47391bb
mov ecx, 0x72e288e
xor edx, edx
div ecx
add eax, 0x6b104707
sub eax, 0xdf7c0b2e
cmp eax, 0x39315641
jb 0x10040971
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, 0xd4a61d01
mov dword [ebp - 0x58], edx
mov ebx, dword [ecx]
inc ebx
mov edx, dword [eax]
dec edx
mov ecx, dword [esi]
dec ecx
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp - 0x58]
mov dword [edi + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [edi], ebx
mov ebx, dword [edi]
mov dword [ecx], ebx
mov edi, dword [edi + 4]
mov dword [ecx + 4], edi
mov esi, dword [esi]
add esi, dword [ecx]
mov dword [ecx], esi
mov edx, dword [edx]
add edx, dword [ecx + 4]
mov dword [ecx + 4], edx
cmp eax, 0x79226f21
jbe 0x10040852
jmp 0x100408bc
jmp 0x100408c1
jmp 0x100408c6
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov dword [ebp - 0x60], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1008271f
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
push eax
push eax
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x1003f868
jmp 0x1003fa9d
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x28]
mov esi, dword [edx]
inc esi
mov edx, dword [ecx]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x1f
add ecx, eax
sar ecx, 1
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x44]
mov edi, edx
mov edx, dword [ebp - 0x3c]
mov dword [edx + 4], edi
mov dword [edx], esi
mov esi, dword [edx]
mov dword [eax], esi
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx]
mov ecx, dword [eax]
add ecx, edx
mov dword [eax], ecx
jmp 0x1003fe3e
jmp 0x100400b0
jmp 0x100404db
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov edi, dword [edx]
inc edi
mov edx, dword [ecx]
dec edx
mov ecx, dword [eax]
dec ecx
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003f6a0
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov edi, eax
mov eax, dword [ebp - 0x44]
mov ebx, edx
mov edx, dword [ebp - 0x24]
mov dword [esi + 4], ebx
mov dword [esi], edi
mov edi, dword [esi]
mov dword [eax], edi
mov esi, dword [esi + 4]
mov dword [eax + 4], esi
mov esi, dword [edx]
mov edx, dword [eax]
add edx, esi
mov dword [eax], edx
mov edx, dword [ecx]
mov ecx, dword [eax + 4]
add ecx, edx
mov dword [eax + 4], ecx
jmp 0x10040852