Function at 0x10038630
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10146e18]
xor eax, dword [0x10146e1c]
xor eax, 0x24330f2c
add eax, 0xafc1444e
mov ecx, 0xf6df1140
xor edx, edx
div ecx
or eax, 0x64db9954
add eax, 0xc4b5ef89
mov ecx, 0x506c4158
xor edx, edx
div ecx
or eax, 0xf2484675
imul eax, eax, 0x30b9bbfa
and eax, 0xcf1f6812
add eax, 0xd10dea0f
sub eax, 0xfa7a2190
sub eax, 0x8c494962
add eax, 0x6a39abd8
and eax, 0xe7afd601
mov ecx, 0xfeaf3112
xor edx, edx
div ecx
and eax, 0xcb45bec2
or eax, 0x5994d4bd
imul eax, eax, 0xf1943d17
sub eax, 0x1628246a
imul eax, eax, 0x1b12969b
sub eax, 0xaad90d58
add eax, 0x2260a063
mov ecx, 0x4bcfd77b
xor edx, edx
div ecx
sub eax, 0xdaf62c56
mov ecx, 0x84b777fb
xor edx, edx
div ecx
and eax, 0x4946565c
add eax, 0x6aac4798
imul eax, eax, 0x4b5654f1
imul eax, eax, 0xb6845a3b
mov ecx, 0xa9e4c353
xor edx, edx
div ecx
mov ecx, 0x255a2a6
xor edx, edx
div ecx
xor eax, 0x10ef7639
or eax, 0x47d44fa7
cmp eax, 0xdaa367ff
je 0x10039e41
mov eax, dword [0x10146e20]
add eax, dword [0x10146e24]
and eax, 0xaad13612
imul eax, eax, 0x34c3cbdb
add eax, 0xa162b39a
add eax, 0x2c0314ba
and eax, 0x98477911
add eax, 0x9a553611
sub eax, 0xcc9426a3
add eax, 0xa8f4db9b
add eax, 0xdf0d8252
imul eax, eax, 0xefbf3023
mov ecx, 0xea132021
xor edx, edx
div ecx
or eax, 0x1fdf366a
sub eax, 0xa5b24c36
sub eax, 0x7b48a437
and eax, 0xbb20fa70
imul eax, eax, 0x638c952c
mov ecx, 0x1f6f0a25
xor edx, edx
div ecx
add eax, 0xf7e53b23
sub eax, 0x518eab29
sub eax, 0xc891d94f
add eax, 0xfa3936e7
or eax, 0xf15a6e3a
sub eax, 0xdbe8b80b
and eax, 0x3409eff8
add eax, 0xa58b9aa6
imul eax, eax, 0x6a21c759
and eax, 0x5a6f7e56
mov ecx, 0xb4b9a9fb
xor edx, edx
div ecx
or eax, 0x40f849ce
imul eax, eax, 0xd1f36a4b
imul eax, eax, 0xb27cb772
and eax, 0xd73db2e5
sub eax, 0xfb730c4a
cmp eax, 0xfbd8f516
jae 0x10039e41
mov eax, dword [0x10146e28]
imul eax, dword [0x10146e2c]
add eax, 0xa557af4d
and eax, 0x5e21d864
sub eax, 0xbef5173b
add eax, 0xea747a3c
add eax, 0x3a89ea2
mov ecx, 0x6b43c77f
xor edx, edx
div ecx
xor eax, 0xf3b27f96
sub eax, 0x3a6e11ba
mov ecx, 0xa8a76125
xor edx, edx
div ecx
imul eax, eax, 0xd0cd3d39
sub eax, 0x5289c307
sub eax, 0xaee36ea6
and eax, 0xd57a8514
xor eax, 0xa6e2d442
xor eax, 0x380a06d2
add eax, 0x765ddf9b
sub eax, 0x1596b350
xor eax, 0x6fbe8bba
and eax, 0xed556747
mov ecx, 0x444ac968
xor edx, edx
div ecx
sub eax, 0x58158d37
add eax, 0x114feeea
or eax, 0xb5219a4f
imul eax, eax, 0x6dc589a9
xor eax, 0xae01cb72
add eax, 0x48aa4335
xor eax, 0x976de74a
xor eax, 0xab3a1f8e
and eax, 0xf7b8e0d7
mov ecx, 0x3bef81e3
xor edx, edx
div ecx
and eax, 0xabc4c249
add eax, 0x2d99d2b5
mov ecx, 0x225bf5e0
xor edx, edx
div ecx
cmp eax, 0x884acabe
ja 0x1003991d
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, 1
push eax
mov ecx, esp
mov dword [ebp - 0x2c], ecx
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0x34], esi
push eax
mov esi, esp
mov dword [ebp - 0x30], esi
push eax
mov ebx, esp
mov dword [ebp - 0x38], ebx
push eax
mov esi, esp
mov dword [ecx], edx
mov edx, dword [ebp - 0x34]
mov dword [edx], edi
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword [edx], edi
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
mov dword [ebx], edx
mov edx, dword [ebp - 0x2c]
mov dword [esi], edi
mov esi, dword [esi]
mov dword [ebp - 0x28], esi
mov dword [edx], esi
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x21], cl
cmp eax, 0xaf595849
je 0x1003991d
mov eax, dword [0x10146e38]
add eax, dword [0x10146e3c]
mov ecx, 0x2f0e5998
xor edx, edx
div ecx
sub eax, 0x20ceac74
sub eax, 0x342155c5
and eax, 0x3be296ad
xor eax, 0xd51ba6ea
sub eax, 0x6f96e5fb
sub eax, 0xb530443d
sub eax, 0x11c93c9f
add eax, 0xb9fc07b6
and eax, 0xa9b25b5b
xor eax, 0x51353cec
imul eax, eax, 0x22e18679
xor eax, 0x3f5a1d0
or eax, 0x31eb3cea
mov ecx, 0x30b17bbf
xor edx, edx
div ecx
imul eax, eax, 0xaef48a99
add eax, 0x2faa47c1
mov ecx, 0x2e8f63bc
xor edx, edx
div ecx
imul eax, eax, 0xe5b98900
add eax, 0xae9a3ad1
sub eax, 0x1fa9b18e
sub eax, 0xd78deb6c
xor eax, 0x12ca46e9
mov ecx, 0x8e31c845
xor edx, edx
div ecx
and eax, 0x4f1cba1d
add eax, 0xcb57cc7f
sub eax, 0x26c60c1e
imul eax, eax, 0x8a11b16f
mov ecx, 0xb94e2903
xor edx, edx
div ecx
sub eax, 0x7b90e2e
xor eax, 0x6ed448e6
xor eax, 0xa78b2735
and eax, 0xe4a75e85
cmp eax, 0x7ea40921
je 0x10039e46
mov eax, dword [0x10146e40]
or eax, dword [0x10146e44]
add eax, 0x83a9765c
xor eax, 0xed5cf7e8
imul eax, eax, 0xe0b20456
add eax, 0x3242c62c
and eax, 0x312cdbaf
mov ecx, 0x8ed1a26d
xor edx, edx
div ecx
or eax, 0xe9141ac0
sub eax, 0x3682b1d2
add eax, 0x39de48d7
sub eax, 0x7ea0fd0c
add eax, 0xd0239c5b
add eax, 0xae101fcb
add eax, 0xe6c70465
and eax, 0xeb9c263
sub eax, 0x86f4a060
add eax, 0x1d3f9d61
add eax, 0x717bcdae
and eax, 0x417023f8
add eax, 0x5bd86023
mov ecx, 0x233f67b7
xor edx, edx
div ecx
mov ecx, 0x834c74b4
xor edx, edx
div ecx
sub eax, 0xc60500c3
sub eax, 0xcd1bc58a
and eax, 0xd080c90a
or eax, 0xda22f89c
xor eax, 0xda7d2ce5
xor eax, 0x83245e13
imul eax, eax, 0x8ecddfd1
or eax, 0xded3a029
xor eax, 0x83b25638
mov ecx, 0x84cec45f
xor edx, edx
div ecx
add eax, 0xa6560e8
xor eax, 0xe7fe7ce1
cmp eax, 0xd123b81e
jbe 0x10039e46
mov al, byte [ebp - 0x21]
test al, 1
jne 0x10038adf
jmp 0x100391a9
mov eax, dword [0x10146e48]
or eax, dword [0x10146e4c]
add eax, 0xac9f09b8
xor eax, 0x2c89709a
or eax, 0xb9eabb6b
sub eax, 0x2e1945ae
sub eax, 0xb45ac6a3
add eax, 0xe95e5c36
imul eax, eax, 0x7ba64fde
add eax, 0x5867f5d9
and eax, 0x86492a7c
mov ecx, 0x283fcc49
xor edx, edx
div ecx
imul eax, eax, 0x357fa09f
sub eax, 0xed18fe3
and eax, 0x49350af7
add eax, 0x456805b2
imul eax, eax, 0xb4f32c7c
mov ecx, 0xf5b83d96
xor edx, edx
div ecx
mov ecx, 0xa27f6ead
xor edx, edx
div ecx
or eax, 0x17393fb0
add eax, 0x5f05a32b
and eax, 0xcacb9c00
mov ecx, 0x8eec8272
xor edx, edx
div ecx
mov ecx, 0xa90955bd
xor edx, edx
div ecx
or eax, 0x7c9cd3c3
imul eax, eax, 0x5e4a52eb
xor eax, 0xaa3eb278
add eax, 0x781608c
mov ecx, 0x7d9c0733
xor edx, edx
div ecx
sub eax, 0x8dcb105a
mov ecx, 0xc43ca1b2
xor edx, edx
div ecx
or eax, 0xa13bf927
mov ecx, 0x1ac21443
xor edx, edx
div ecx
mov ecx, 0x2b0ba9a2
xor edx, edx
div ecx
sub eax, 0xe68a9888
cmp eax, 0x2fd2101a
jae 0x10039e4b
mov eax, dword [0x10146e50]
xor edx, edx
div dword [0x10146e54]
and eax, 0x517569ed
add eax, 0xc3029bf0
or eax, 0x96d45dde
and eax, 0x5b9c4ea2
sub eax, 0x765bd9f8
and eax, 0x9e3c4b79
imul eax, eax, 0xd4a2f8cc
xor eax, 0x81a629ad
add eax, 0x3a9d9258
xor eax, 0x77c806b
sub eax, 0x911ad19b
imul eax, eax, 0x3c613a44
add eax, 0xef520ced
add eax, 0xab34e3d8
and eax, 0x1a01f514
or eax, 0xa69ae657
imul eax, eax, 0x7bff3c74
imul eax, eax, 0x4de74e1d
mov ecx, 0xeb5dd532
xor edx, edx
div ecx
xor eax, 0x6069366a
mov ecx, 0x1890c81
xor edx, edx
div ecx
add eax, 0x767d6923
xor eax, 0x59fc8239
xor eax, 0xd7f45a20
sub eax, 0xd3d9c4b8
or eax, 0x90613ac0
sub eax, 0xd1214b7a
and eax, 0xeaaf0bc0
or eax, 0xd15d56a
mov ecx, 0x3f9270dc
xor edx, edx
div ecx
or eax, 0xdc5df059
and eax, 0x49b7d27d
imul eax, eax, 0x9d31e280
cmp eax, 0xa0efbb01
jbe 0x10039e4b
mov eax, dword [0x10146e58]
add eax, dword [0x10146e5c]
imul eax, eax, 0x8bcc60eb
xor eax, 0x8d9fcaf0
and eax, 0x10576b7d
sub eax, 0x3bee0ba2
sub eax, 0xcfc638e0
imul eax, eax, 0xdfcd7f20
mov ecx, 0xcff5dd90
xor edx, edx
div ecx
xor eax, 0xeeb73cb4
or eax, 0xed47f90e
or eax, 0xf5e5d76e
and eax, 0xfb0f4db2
add eax, 0x209f19c7
and eax, 0xcf0df16d
xor eax, 0xdd03b373
imul eax, eax, 0xd38f38f0
and eax, 0xccc79cb0
imul eax, eax, 0x58e857f8
add eax, 0x68f0c257
sub eax, 0xc78fde8c
or eax, 0xc5709a8f
imul eax, eax, 0x5b57ca99
mov ecx, 0xef0f93d4
xor edx, edx
div ecx
mov ecx, 0x5010a57a
xor edx, edx
div ecx
or eax, 0xbd493f6b
and eax, 0x98a8b31c
or eax, 0x1ce2914d
add eax, 0x1f1a3cb
mov ecx, 0x936d1d31
xor edx, edx
div ecx
sub eax, 0x35fc114
mov ecx, 0x73f96f9c
xor edx, edx
div ecx
mov ecx, 0xe8fe693c
xor edx, edx
div ecx
imul eax, eax, 0xc936a666
imul eax, eax, 0x59ef8a1d
cmp eax, 0xa79d3fdd
ja 0x10039a32
mov eax, dword [0x10146e60]
xor eax, dword [0x10146e64]
or eax, 0xdee18516
and eax, 0x942a5a08
and eax, 0x982f7ede
mov ecx, 0x5ebe2676
xor edx, edx
div ecx
mov ecx, 0xc20ab1d0
xor edx, edx
div ecx
and eax, 0x2c767adc
or eax, 0x869eabdc
and eax, 0xb5548fe3
imul eax, eax, 0xa810a0f8
imul eax, eax, 0x8ea6db1a
mov ecx, 0x528cd26d
xor edx, edx
div ecx
add eax, 0x3e034c48
or eax, 0x32c0af95
mov ecx, 0x99cf4279
xor edx, edx
div ecx
xor eax, 0xbfd0e2e7
xor eax, 0xbfe3a876
add eax, 0xf8336d23
and eax, 0x94bae75
sub eax, 0x52e1b243
add eax, 0x9c45fa9
and eax, 0x1230a5df
and eax, 0xfbeb3047
xor eax, 0x9cfcb49b
xor eax, 0x2268595b
and eax, 0x56078d6
imul eax, eax, 0x43d4b96a
or eax, 0x545db53c
imul eax, eax, 0xfd1b0b4c
imul eax, eax, 0x8b2c0111
mov ecx, 0xd3b0c285
xor edx, edx
div ecx
xor eax, 0xbeac06b5
xor eax, 0xf77e3bcc
xor eax, 0x885a07ac
cmp eax, 0x7f1a0ec6
je 0x10039e50
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x10146e68]
and eax, dword [0x10146e6c]
mov esi, 0xeb94cfe2
xor edx, edx
div esi
mov esi, 0x400ac359
xor edx, edx
div esi
mov esi, 0x9b6075ff
xor edx, edx
div esi
add eax, 0x8c2ba9f
or eax, 0x9e943198
mov esi, 0x6b7bbd2a
xor edx, edx
div esi
sub eax, 0x9ba2fd2f
sub eax, 0x137af766
add eax, 0x6bcc9f65
xor eax, 0xe9224d0e
mov esi, 0x19b4bf8e
xor edx, edx
div esi
add eax, 0x5ba8e59c
imul eax, eax, 0x5ed51385
and eax, 0xeed6d842
mov esi, 0x2c801d6b
xor edx, edx
div esi
and eax, 0x2c796edb
sub eax, 0x50570c7c
add eax, 0xd4d5c809
sub eax, 0x8cc06458
sub eax, 0x6e04eec1
add eax, 0xf08e2e4a
imul eax, eax, 0xa5f09c61
imul eax, eax, 0xf70e0df3
mov esi, 0xb6fa8e29
xor edx, edx
div esi
or eax, 0x1084cee5
add eax, 0x15036fba
imul eax, eax, 0x62d2b746
xor eax, 0xdeafabaa
sub eax, 0x1c3e3c5d
sub eax, 0x36483aad
sub eax, 0x2035da21
sub eax, 0x3e48f30e
mov esi, 0xd22072e0
xor edx, edx
div esi
mov dword [ebp - 0x3c], eax
lea eax, [0x1013b00c]
mov dword [ecx], eax
add ecx, 0x70
call fcn.100cef90
mov eax, dword [ebp - 0x3c]
cmp eax, 0xf9500750
ja 0x10039e50
mov eax, dword [0x10146e70]
imul eax, dword [0x10146e74]
mov ecx, 0xa2a35718
xor edx, edx
div ecx
imul eax, eax, 0x42dac532
or eax, 0xf788dd96
sub eax, 0x76199317
mov ecx, 0x4a43569c
xor edx, edx
div ecx
and eax, 0xf4773b9c
imul eax, eax, 0xe6380794
or eax, 0xd3659a9f
imul eax, eax, 0x18065f98
sub eax, 0xe0ccfb32
xor eax, 0x1d53b2f3
or eax, 0x98467894
or eax, 0x11ab9284
imul eax, eax, 0x2566f92e
imul eax, eax, 0x5140ee1f
mov ecx, 0xd6bd3ea3
xor edx, edx
div ecx
imul eax, eax, 0x2e6d7f04
imul eax, eax, 0x72188461
imul eax, eax, 0x6d16caa
xor eax, 0xd8a2a146
mov ecx, 0xa3fc9c7c
xor edx, edx
div ecx
sub eax, 0xd63e4814
xor eax, 0xbb437d9c
or eax, 0xdabe6a6c
and eax, 0xa569f139
sub eax, 0x50213d9e
xor eax, 0x1198bfa9
sub eax, 0x3aca2c8d
xor eax, 0x9550089d
xor eax, 0x51d46f7f
mov ecx, 0xc35c888e
xor edx, edx
div ecx
mov ecx, 0x15253452
xor edx, edx
div ecx
add eax, 0xcc74b65c
cmp eax, 0xce9e791b
jae 0x10038d6a
mov eax, dword [0x10146e78]
and eax, dword [0x10146e7c]
add eax, 0xd10d32b2
and eax, 0xab4cedd
xor eax, 0xba85d1ec
xor eax, 0x666ddc4b
xor eax, 0xd1e71e79
or eax, 0xf45251e7
or eax, 0xf65e7f07
sub eax, 0x90b26545
imul eax, eax, 0xe567669f
imul eax, eax, 0x69cebdd2
add eax, 0xaff64043
xor eax, 0xeb8bf636
or eax, 0xbc8eb5c
sub eax, 0x8946700d
mov ecx, 0xd43d62ac
xor edx, edx
div ecx
and eax, 0x10f06901
imul eax, eax, 0x54477407
add eax, 0x503557ee
xor eax, 0xf6880681
or eax, 0x4caaa915
and eax, 0x7883a84e
add eax, 0xc01e6cc8
or eax, 0x4c1ec866
add eax, 0x5d267cc1
or eax, 0xfe5be5cf
imul eax, eax, 0xc1d7cd42
and eax, 0x21fbb8f2
add eax, 0xe2b11264
xor eax, 0x96f0bc9f
or eax, 0x7f2b3485
add eax, 0xfb374091
add eax, 0x23b6e24e
add eax, 0xb53fb822
cmp eax, 0xaa3bac05
jb 0x10039e68
mov eax, dword [0x10146e80]
sub eax, dword [0x10146e84]
imul eax, eax, 0x8baec8ab
imul eax, eax, 0x2ab057d
add eax, 0x31625b11
or eax, 0xd87ade5b
imul eax, eax, 0xbc97afea
mov ecx, 0x49ddb56e
xor edx, edx
div ecx
xor eax, 0xe0b7e2de
sub eax, 0x55a73712
sub eax, 0x64ce70dc
and eax, 0xf9774db7
add eax, 0xd50f0b3
add eax, 0xae6e6380
xor eax, 0xc64e479e
or eax, 0x32e0170e
sub eax, 0xc79bdbc6
sub eax, 0x40987845
imul eax, eax, 0x640573c6
mov ecx, 0xd266978e
xor edx, edx
div ecx
add eax, 0x68eeac44
mov ecx, 0xd37b6165
xor edx, edx
div ecx
add eax, 0x64764c3b
mov ecx, 0x536614ac
xor edx, edx
div ecx
and eax, 0x92a62ff9
or eax, 0xf246b73a
xor eax, 0x3183a97a
and eax, 0x4d3ae51e
sub eax, 0x598b7c35
or eax, 0x256469f0
xor eax, 0x31dd9228
or eax, 0x1c2dd114
sub eax, 0x752c437
and eax, 0x4bb2faa6
or eax, 0x154983e8
cmp eax, 0x165ab988
je 0x10039e68
jmp 0x100391a9
mov eax, dword [0x10146e88]
sub eax, dword [0x10146e8c]
and eax, 0x85ef089f
and eax, 0xea15aff3
mov ecx, 0xe28b8342
xor edx, edx
div ecx
and eax, 0x94aeb052
xor eax, 0x652d2e4a
xor eax, 0x8514e5ea
and eax, 0x9f07ee7d
add eax, 0x245f3b6d
or eax, 0x548087d
or eax, 0x4a5cc4f7
add eax, 0x1687b0ca
add eax, 0x53dde31b
sub eax, 0x708f6884
xor eax, 0x68c6c10b
imul eax, eax, 0x675ed524
xor eax, 0x12be67ef
mov ecx, 0x6fbbf703
xor edx, edx
div ecx
imul eax, eax, 0x47be04f0
add eax, 0xe0e1d0f4
sub eax, 0xc99cdf27
mov ecx, 0xd5578293
xor edx, edx
div ecx
xor eax, 0x5b59990e
sub eax, 0x641d095c
sub eax, 0x5ff83733
add eax, 0x791eed47
or eax, 0xe6459381
imul eax, eax, 0x3028c79c
and eax, 0xce8d01c3
add eax, 0x90805845
imul eax, eax, 0xad43b9b8
add eax, 0x1cbee3d6
xor eax, 0x89746f61
add eax, 0xbdf3080e
cmp eax, 0xeb4d2b67
jae 0x10039e6d
mov eax, dword [0x10146e90]
xor edx, edx
div dword [0x10146e94]
mov ecx, 0x53edc8e3
xor edx, edx
div ecx
xor eax, 0x16bd7005
or eax, 0x7ddb0ea5
or eax, 0xb0e3914a
or eax, 0x35d6750d
add eax, 0xa05ad962
add eax, 0x20807888
sub eax, 0xa382122b
or eax, 0x249d42b8
xor eax, 0x315098b5
and eax, 0x67c9ccfb
sub eax, 0x5e2253c5
xor eax, 0x820c2a2
xor eax, 0x93cdcc64
imul eax, eax, 0x7b88ceab
mov ecx, 0x757dcb60
xor edx, edx
div ecx
imul eax, eax, 0x3e5ef923
and eax, 0x32abd4b6
or eax, 0x718f6619
add eax, 0x9f32ff12
xor eax, 0x91885130
mov ecx, 0x199193f9
xor edx, edx
div ecx
and eax, 0x9637d284
or eax, 0xc8711eae
xor eax, 0xaa4d84f8
add eax, 0x2e656de7
add eax, 0x1dc1e438
sub eax, 0xe29f94a1
add eax, 0x75d8550f
mov ecx, 0x2eff7b54
xor edx, edx
div ecx
sub eax, 0xa8d6da6f
sub eax, 0x421b805b
and eax, 0x6c016c8c
cmp eax, 0x15a42cf2
ja 0x10039274
mov eax, dword [0x10146e98]
xor edx, edx
div dword [0x10146e9c]
xor eax, 0x2af43aef
sub eax, 0x4c374c0d
add eax, 0xb1861558
and eax, 0xd43bbf1a
sub eax, 0x3a8b981c
and eax, 0x56a89e16
or eax, 0x822ccffe
or eax, 0xe312acfe
xor eax, 0x65da8dce
add eax, 0xbb8a2384
xor eax, 0x8df1befd
sub eax, 0x13b170ca
add eax, 0xfa90479e
imul eax, eax, 0xfcff96dd
mov ecx, 0x79507509
xor edx, edx
div ecx
and eax, 0x83655aab
sub eax, 0xd1ded2e4
and eax, 0xa45c29f5
sub eax, 0xdc559945
imul eax, eax, 0x2201629c
mov ecx, 0x9bf7da99
xor edx, edx
div ecx
xor eax, 0xc09d47c8
mov ecx, 0xec4e51d5
xor edx, edx
div ecx
and eax, 0xa4d92f45
xor eax, 0x7f352b61
add eax, 0xd0fd195
and eax, 0x666bb290
xor eax, 0x37e86f58
and eax, 0xaf3998ac
add eax, 0x4d559d39
add eax, 0x65aece24
add eax, 0x298ea21c
or eax, 0x4c60621b
cmp eax, 0x3feaba1f
jbe 0x10039bff
mov eax, dword [0x10146ea0]
or eax, dword [0x10146ea4]
and eax, 0xdb080724
and eax, 0x7f25b1d8
imul eax, eax, 0x4a3630e8
or eax, 0x6dba09ad
sub eax, 0x9622020b
mov ecx, 0xeb22f594
xor edx, edx
div ecx
and eax, 0x19d3bf0f
sub eax, 0x3cf842e9
add eax, 0xb66dfca3
and eax, 0x767cd5a1
imul eax, eax, 0xa6e0dfbf
imul eax, eax, 0x553658e8
imul eax, eax, 0x178561c5
and eax, 0x8ba66a42
and eax, 0x1b753af3
and eax, 0x2f018798
imul eax, eax, 0xe6ec31ad
xor eax, 0xd7fd307e
add eax, 0xa95ccf61
imul eax, eax, 0xef42cbe4
xor eax, 0x7889a789
or eax, 0x389bd557
add eax, 0xffc1af7
or eax, 0xd777715f
xor eax, 0xa8820b8a
add eax, 0xde916dee
imul eax, eax, 0x833bb8ee
imul eax, eax, 0x1a18606e
or eax, 0x20aa857
xor eax, 0x7c300727
xor eax, 0xeb0543e9
or eax, 0x982e6789
sub eax, 0x91bde61d
cmp eax, 0x6a7ae239
ja 0x10039e72
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x10146ea8]
add eax, dword [0x10146eac]
imul eax, eax, 0x2026cec9
and eax, 0xa31229f1
or eax, 0x11cd9641
imul eax, eax, 0x13fd4260
xor eax, 0x7dd1871
mov edi, 0x8614cd86
xor edx, edx
div edi
add eax, 0x33478c8f
mov edi, 0x45fc276d
xor edx, edx
div edi
imul eax, eax, 0xe6a066d6
or eax, 0x7155d2e4
add eax, 0xee91ccea
imul eax, eax, 0x87c7a1e8
imul eax, eax, 0xc55cebd0
xor eax, 0x80e72a0d
and eax, 0x2260e3ac
and eax, 0xeac939f3
mov edi, 0x31e42470
xor edx, edx
div edi
or eax, 0x32f77b2
and eax, 0xcc00b116
add eax, 0xee243829
add eax, 0x39c71a4
add eax, 0xbcaa8418
mov edi, 0x4f4b0534
xor edx, edx
div edi
xor eax, 0xe0679c4f
mov edi, 0x39dd0fe
xor edx, edx
div edi
and eax, 0x7a2615bd
imul eax, eax, 0x82dbe90e
and eax, 0xa8174020
sub eax, 0x5fa97cb
xor eax, 0x1073fa09
mov edi, 0x71733708
xor edx, edx
div edi
sub eax, 0x8c2a575e
or eax, 0x89190cf9
mov dword [ebp - 0x44], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
mov eax, ecx
add eax, 0x10
xor edx, edx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.100cf0d0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
add ecx, 0x10
call fcn.100cfbe0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
add ecx, 0x10
mov eax, dword [eax]
mov edx, dword [edx]
or edx, 1
mov esi, dword [esi]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.100d0200
mov ecx, eax
mov eax, dword [ebp - 0x44]
cmp ecx, 0
setne cl
mov byte [ebp - 0x3d], cl
cmp eax, 0xd5afb7e8
jb 0x100394d5
mov eax, dword [0x10146eb0]
add eax, dword [0x10146eb4]
mov ecx, 0x9ac9f157
xor edx, edx
div ecx
mov ecx, 0x9ba6e0ee
xor edx, edx
div ecx
mov ecx, 0x78a53a4b
xor edx, edx
div ecx
add eax, 0xc3ce756c
imul eax, eax, 0xc516553e
add eax, 0x4e4e7466
and eax, 0x90c8fbf0
sub eax, 0x5fa98bd9
add eax, 0xbb16f054
imul eax, eax, 0x78a87c5a
or eax, 0x56a1284
imul eax, eax, 0xc2bdd303
xor eax, 0xb74b3b91
xor eax, 0xbc009e1b
add eax, 0x1f77628d
add eax, 0x16b09348
add eax, 0x3f6aca20
xor eax, 0x13b3332a
and eax, 0x3801caa2
imul eax, eax, 0x948179f2
imul eax, eax, 0x7686d0cf
imul eax, eax, 0x387e1e70
xor eax, 0xb2dbfdca
add eax, 0xe3f57067
mov ecx, 0x9ee4c7af
xor edx, edx
div ecx
xor eax, 0xa918573f
sub eax, 0xab86c6b4
sub eax, 0xce166a2c
imul eax, eax, 0xae075149
mov ecx, 0xe3ceac6e
xor edx, edx
div ecx
and eax, 0x3539da79
sub eax, 0x8e71c0a
and eax, 0x8f028915
cmp eax, 0xe4e3a797
ja 0x1003940e
mov al, byte [ebp - 0x3d]
test al, 1
jne 0x1003976a
jmp 0x10039744
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
xor eax, eax
sub esp, 8
mov dword [esp], 2
mov dword [esp + 4], 0
call fcn.100d2590
mov eax, dword [0x10146eb8]
xor edx, edx
div dword [0x10146ebc]
sub eax, 0x89026f47
sub eax, 0xc88d1fec
sub eax, 0xc184f223
imul eax, eax, 0xcb1cc7d
add eax, 0x620cf42a
add eax, 0x438dac7b
or eax, 0x430f9712
add eax, 0x6fcaafa1
or eax, 0xb27e4679
and eax, 0xddd57bc8
or eax, 0x5ccd391e
sub eax, 0xec65a04e
sub eax, 0x170f961e
imul eax, eax, 0xd6d1e558
add eax, 0x13482d1c
sub eax, 0xfa554a16
sub eax, 0xd04d127c
add eax, 0xf9abf03
and eax, 0xe6885034
mov ecx, 0xdcff81df
xor edx, edx
div ecx
and eax, 0xe9d8c96e
imul eax, eax, 0x6a4b257f
and eax, 0x8d645304
mov ecx, 0x7deb69cc
xor edx, edx
div ecx
xor eax, 0x18ff5c16
xor eax, 0x2daf0d3a
xor eax, 0xd859f9fe
add eax, 0x9e889ed1
imul eax, eax, 0x7b49c06e
sub eax, 0x7a3ec2c6
mov ecx, 0x1021ec21
xor edx, edx
div ecx
and eax, 0x8551dc7e
and eax, 0x2aef636d
cmp eax, 0xbcb6eb16
jae 0x10039f16
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x10146ec0]
and eax, dword [0x10146ec4]
add eax, 0x631096c4
sub eax, 0xb3c2a0a7
sub eax, 0x394f40d3
xor eax, 0x1a2c8ea9
sub eax, 0xfde34586
xor eax, 0x1f028bff
imul eax, eax, 0x2100aa19
mov esi, 0xcef26460
xor edx, edx
div esi
add eax, 0xfbac886
xor eax, 0xee6450cd
imul eax, eax, 0xadd24dd
imul eax, eax, 0xa1fc1fb9
xor eax, 0x43ac7b9a
and eax, 0xba0804b4
imul eax, eax, 0xa24f7544
add eax, 0x3b0c2
sub eax, 0x9b902333
mov esi, 0xbb22fb26
xor edx, edx
div esi
mov esi, 0xbb8821ca
xor edx, edx
div esi
imul eax, eax, 0xaee6380
add eax, 0x894f4441
and eax, 0x539a346d
imul eax, eax, 0xa2ac470
or eax, 0x124c8e8f
sub eax, 0xd38b68a0
add eax, 0x5c5a56ca
add eax, 0xbef50ca9
and eax, 0x2f7d37fa
xor eax, 0xff3ae7aa
xor eax, 0x7bb287e5
and eax, 0xcdcc5939
mov esi, 0x2451c4f8
xor edx, edx
div esi
add eax, 0xb91fb735
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
cmp eax, 0xddf7ec9
jbe 0x10039f16
mov eax, dword [ebp - 0x48]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x10146ec8]
imul eax, dword [0x10146ecc]
imul eax, eax, 0x5494aba3
and eax, 0x6d44b7c9
imul eax, eax, 0xcf6e7ab
xor eax, 0x74e73c67
and eax, 0xff09be6b
sub eax, 0xa912a077
sub eax, 0xaea7cc99
xor eax, 0xd8c2f6a1
or eax, 0x49edda6d
sub eax, 0x36f3da11
add eax, 0x5550a137
and eax, 0xa6984e19
xor eax, 0x5bad5451
or eax, 0x9e330960
xor eax, 0xc86671ca
xor eax, 0xf7b348ad
sub eax, 0x49a1909
imul eax, eax, 0xcb3fbb2d
mov ecx, 0x88d86833
xor edx, edx
div ecx
xor eax, 0x9f5df18d
and eax, 0x761c7de7
xor eax, 0x3a0678cb
add eax, 0xb4b8c40f
xor eax, 0xd1bc5aba
imul eax, eax, 0xfbd196b2
and eax, 0x7035064e
imul eax, eax, 0x423b42af
xor eax, 0x298c28a
sub eax, 0x8754857a
add eax, 0x451880ae
or eax, 0x68494661
add eax, 0x2b76d88f
add eax, 0x7386e849
cmp eax, 0x721f1e2b
jae 0x10039f1b
mov ecx, dword [ebp - 0x1c]
mov eax, 0x16d31dbb
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
push eax
mov ebx, esp
push eax
mov esi, esp
push eax
mov edi, esp
push eax
mov edx, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x14]
mov dword [esi], ebx
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x20]
mov dword [edi], ebx
mov dword [edx], esi
mov edx, dword [edx]
mov dword [ecx], edx
cmp eax, 0x5919e207
jae 0x100399e2
jmp 0x100388cf
mov eax, dword [0x10146ed8]
xor edx, edx
div dword [0x10146edc]
imul eax, eax, 0xb68111e6
or eax, 0xa96a2a52
or eax, 0xc33b9096
add eax, 0xea0ced7d
mov ecx, 0x1d5051f
xor edx, edx
div ecx
add eax, 0x6804d312
and eax, 0xad869963
xor eax, 0x9b2a9502
mov ecx, 0xfbe6df84
xor edx, edx
div ecx
add eax, 0x6bb1a580
imul eax, eax, 0x1e9cc928
sub eax, 0x2bf457b9
add eax, 0xa79131f2
imul eax, eax, 0x733fe9c7
add eax, 0xe091d685
imul eax, eax, 0x90f3ef56
or eax, 0xac6e8739
xor eax, 0x8337c9a6
or eax, 0xfbb6543d
mov ecx, 0x3609fa5f
xor edx, edx
div ecx
xor eax, 0x5483080f
and eax, 0x4cd20e81
sub eax, 0xca84d07
xor eax, 0x88da02fb
and eax, 0xb46a134e
imul eax, eax, 0x8db8cae8
or eax, 0x2ac991b4
sub eax, 0x2a429d2e
xor eax, 0x7f0eaf92
add eax, 0xb427d2d1
add eax, 0x412178bf
mov ecx, 0xda524ba4
xor edx, edx
div ecx
and eax, 0x9994177e
cmp eax, 0x58a8b05f
ja 0x10039f55
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x10146ee0]
add eax, dword [0x10146ee4]
sub eax, 0x99870fbf
add eax, 0x536e8f80
sub eax, 0x5e7d54cb
imul eax, eax, 0xe165813d
add eax, 0x52a769d3
or eax, 0xc1123c4
sub eax, 0xda1cb385
sub eax, 0x37ae1e1d
imul eax, eax, 0xb8a16f1b
sub eax, 0xc649d83d
add eax, 0x90c30168
add eax, 0xd1c643a3
and eax, 0x44bc5b1b
mov esi, 0xc7cd23b9
xor edx, edx
div esi
mov esi, 0xb5664917
xor edx, edx
div esi
imul eax, eax, 0xe3c22697
mov esi, 0x9edf87e6
xor edx, edx
div esi
xor eax, 0xfcfc431
mov esi, 0xd4be1c1d
xor edx, edx
div esi
sub eax, 0xf50a8643
imul eax, eax, 0xda035000
mov esi, 0x8227ec02
xor edx, edx
div esi
imul eax, eax, 0xdab70f27
mov esi, 0xee878f4d
xor edx, edx
div esi
sub eax, 0x467edb7b
mov esi, 0x402d745
xor edx, edx
div esi
xor eax, 0x315aabe3
add eax, 0x241323
imul eax, eax, 0xf69710b5
add eax, 0x18c2b7f5
and eax, 0xc97a308d
xor eax, 0x88b0a5be
or eax, 0x8538cf32
mov dword [ebp - 0x54], eax
lea eax, [0x1013b00c]
mov dword [ecx], eax
add ecx, 0x70
call fcn.100cef90
mov eax, dword [ebp - 0x54]
cmp eax, 0x94eb6713
jbe 0x10039f55
jmp 0x10038d6a
mov eax, dword [0x10146ee8]
sub eax, dword [0x10146eec]
xor eax, 0xe804b205
add eax, 0xd3bdb13
xor eax, 0x9da5be56
sub eax, 0xd099118c
add eax, 0x20d3c7cb
add eax, 0xb06e7762
mov ecx, 0x75c23d74
xor edx, edx
div ecx
add eax, 0x9c1e7260
mov ecx, 0x973d4e5b
xor edx, edx
div ecx
and eax, 0x68034c12
imul eax, eax, 0x40551398
mov ecx, 0x476066b9
xor edx, edx
div ecx
mov ecx, 0x91edaad
xor edx, edx
div ecx
or eax, 0x1d1b7a3b
sub eax, 0xf48538ab
or eax, 0x3bebfe01
xor eax, 0x7db087c3
add eax, 0x1115e13a
xor eax, 0x56af31e
xor eax, 0x7b3a83e4
add eax, 0xa08aad39
imul eax, eax, 0x63835f1d
or eax, 0x67600d89
xor eax, 0xb0b8a519
add eax, 0x860f1b6b
or eax, 0xb3b0349d
or eax, 0x78c9afa6
or eax, 0x4ef5ed76
imul eax, eax, 0xc21646e7
and eax, 0x6818a477
xor eax, 0x18aa53f1
imul eax, eax, 0xa6ad6d08
and eax, 0x83f79a46
cmp eax, 0xddbe37a8
je 0x10039f6d
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x10146ef0]
or eax, dword [0x10146ef4]
sub eax, 0xea9b6f3a
sub eax, 0x9c7b7241
xor eax, 0x73eec76e
or eax, 0x9f60daed
or eax, 0x58fa4401
xor eax, 0x8ab3cc56
mov edi, 0x1a8606c3
xor edx, edx
div edi
sub eax, 0xd8b5c1d5
xor eax, 0xf622714a
mov edi, 0xc6ed90d1
xor edx, edx
div edi
sub eax, 0xd96d995a
add eax, 0x65720c5
or eax, 0x29a6e580
or eax, 0xeab28d13
and eax, 0xe4fe8cce
xor eax, 0x68c99a15
add eax, 0xdfa7a492
xor eax, 0x91393c56
or eax, 0x5d5933e6
imul eax, eax, 0x7bc01e0f
or eax, 0x9dd347d6
and eax, 0xb6f3c229
sub eax, 0xb59f22c6
sub eax, 0xabb697f0
add eax, 0x6681e6d7
xor eax, 0x826a8be5
xor eax, 0xdde50966
or eax, 0x3ac7aced
or eax, 0xcbbcdf40
mov edi, 0x8342fff6
xor edx, edx
div edi
imul eax, eax, 0xd0e906d6
and eax, 0x43144fe5
xor eax, 0x3f5a67aa
mov dword [ebp - 0x58], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
mov eax, ecx
add eax, 0x10
xor edx, edx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.100cf0d0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
add ecx, 0x10
call fcn.100cfbe0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
add ecx, 0x10
mov eax, dword [eax]
mov edx, dword [edx]
or edx, 1
mov esi, dword [esi]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.100d0200
mov eax, dword [ebp - 0x58]
cmp eax, 0xa0ac0b0f
ja 0x10039cce
jmp 0x1003940e
jmp 0x10038730
jmp 0x10038a02
jmp 0x10038bc2
mov ecx, dword [ebp - 0x28]
lea eax, [0x1013b00c]
mov dword [ecx], eax
add ecx, 0x70
call fcn.100cef90
jmp 0x10038e3e
jmp 0x100390d5
jmp 0x10039274
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
mov eax, ecx
add eax, 0x10
xor edx, edx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.100cf0d0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
add ecx, 0x10
call fcn.100cfbe0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
add ecx, 0x10
mov eax, dword [eax]
mov edx, dword [edx]
or edx, 1
mov esi, dword [esi]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.100d0200
jmp 0x100394d5
jmp 0x10039837
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edi], eax
mov eax, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x18]
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [ebx], edx
mov edx, dword [ebp - 0x20]
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x100399e2
mov ecx, dword [ebp - 0x28]
lea eax, [0x1013b00c]
mov dword [ecx], eax
add ecx, 0x70
call fcn.100cef90
jmp 0x10039b04
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
mov eax, ecx
add eax, 0x10
xor edx, edx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.100cf0d0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
lea edx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov dword [ecx + eax], edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
mov edx, eax
sub edx, 0x70
mov dword [ecx + eax - 4], edx
add ecx, 0x10
call fcn.100cfbe0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
add ecx, 0x10
mov eax, dword [eax]
mov edx, dword [edx]
or edx, 1
mov esi, dword [esi]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.100d0200
jmp 0x10039cce