Function at 0x1003b7d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov esi, esp
mov dword [esi + 0x48], ecx
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x54], eax
mov eax, dword [0x10146fd8]
and eax, dword [0x10146fdc]
or eax, 0x1fe7609f
imul eax, eax, 0xdc97936
mov ecx, 0xd7e9bb44
xor edx, edx
div ecx
mov ecx, 0x66dedfcd
xor edx, edx
div ecx
sub eax, 0xb27c45db
imul eax, eax, 0xda9c261f
add eax, 0xca7f82df
or eax, 0x350dae41
add eax, 0x1fff0fb4
mov ecx, 0xfa5cdd62
xor edx, edx
div ecx
or eax, 0x216e762d
imul eax, eax, 0xb4d2da62
and eax, 0x1dee6910
xor eax, 0x9f1d1030
add eax, 0x2692b732
imul eax, eax, 0xe5a28ae5
and eax, 0xe756c49e
sub eax, 0x62b7e8b6
add eax, 0xe3956a43
and eax, 0x259c343e
and eax, 0xef1eacf9
sub eax, 0xd6e3a1d7
add eax, 0x249f5b48
mov ecx, 0x82ee1e75
xor edx, edx
div ecx
or eax, 0x57356864
or eax, 0xab4af742
sub eax, 0x989d816d
and eax, 0x7061b2c5
imul eax, eax, 0xf4719b0c
imul eax, eax, 0x83cf268
or eax, 0xf9f95aaf
xor eax, 0xd9520f09
and eax, 0xebe27648
cmp eax, 0xf3f6dc16
je 0x1003c883
mov eax, dword [0x10146fe0]
or eax, dword [0x10146fe4]
sub eax, 0xc31b1c41
and eax, 0xc562d877
and eax, 0x35530dc5
and eax, 0x12336d31
xor eax, 0x6fb15c4a
mov ecx, 0x5c4f79bc
xor edx, edx
div ecx
or eax, 0x985d686c
xor eax, 0xe769721b
or eax, 0x79b283a2
xor eax, 0x511a190f
and eax, 0x116d27f9
or eax, 0x58ac1821
sub eax, 0x8869c992
xor eax, 0x6097598
or eax, 0x13853695
add eax, 0x62c2a68d
mov ecx, 0xadad312b
xor edx, edx
div ecx
mov ecx, 0x2d8a162e
xor edx, edx
div ecx
xor eax, 0x6bb0088b
or eax, 0x9273e6c2
add eax, 0x82686033
xor eax, 0xf586a37c
sub eax, 0xb97e54d0
and eax, 0x7ab38a0e
or eax, 0x24292cb3
sub eax, 0xf753e6de
or eax, 0xd2cc2260
sub eax, 0xebc01d49
imul eax, eax, 0xf54bddfb
sub eax, 0x179194e0
xor eax, 0x4c95450b
mov ecx, 0x15b2f1ed
xor edx, edx
div ecx
or eax, 0x99926f46
cmp eax, 0x4b9aa686
je 0x1003cc9d
mov ebx, dword [esi + 0x50]
mov eax, 0x3f32f6fb
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov ecx, eax
mov dword [esi + 0x24], ecx
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x28], edi
mov esp, edi
push eax
mov ecx, esp
push eax
mov edx, esp
mov dword [esi + 0x30], edx
push eax
mov edx, esp
mov dword [esi + 0x34], edx
sub esp, 8
mov edx, esp
mov dword [esi + 0x38], edx
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x2c], edx
mov esp, edx
mov edx, dword [esi + 0x54]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x30]
mov dword [edi], ebx
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [esi + 0x3c], ecx
mov dword [eax], 0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10108d20
mov ecx, dword [esi + 0x3c]
mov edx, eax
mov eax, dword [esi + 0x34]
mov dword [eax], edx
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add edx, 0
add ecx, edx
mov eax, dword [eax]
and eax, 0xfffffffe
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10108b80
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.10109280
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10109650
mov cl, al
mov eax, dword [esi + 0x40]
mov byte [esi + 0x47], cl
cmp eax, 0x2cc72f83
jb 0x1003cc9d
mov eax, dword [0x10146ff0]
and eax, dword [0x10146ff4]
imul eax, eax, 0x83103c4b
and eax, 0x4dffbc93
imul eax, eax, 0x7f59a794
or eax, 0xcb134ab5
and eax, 0xa67f49bd
sub eax, 0x8890bb08
mov ecx, 0x4e72fe1e
xor edx, edx
div ecx
and eax, 0xa7b92fe7
sub eax, 0x345ddddb
and eax, 0x6eef60d
imul eax, eax, 0xae1f6e3b
or eax, 0x7ed96d90
xor eax, 0x55e527ec
add eax, 0x9f779da8
imul eax, eax, 0xdaaf20d7
add eax, 0xf6f08fcc
sub eax, 0xbf74862
imul eax, eax, 0x21d3a3e8
add eax, 0xf4c4f602
or eax, 0x4705b648
xor eax, 0xbd0ea735
xor eax, 0x43bee70f
or eax, 0x843d8b56
and eax, 0xd8902c02
xor eax, 0xe7ea42da
imul eax, eax, 0xc155c576
mov ecx, 0xda49eac3
xor edx, edx
div ecx
and eax, 0x1dc48c25
sub eax, 0xf1ebf9c6
add eax, 0x4eda7112
or eax, 0xc9ad1932
sub eax, 0x986aacdd
add eax, 0xb590979d
cmp eax, 0xc58cb4ae
jb 0x1003b8c4
mov al, byte [esi + 0x47]
test al, 1
jne 0x1003c694
jmp 0x1003bb48
mov eax, dword [0x10146ff8]
xor edx, edx
div dword [0x10146ffc]
xor eax, 0xd1437cca
sub eax, 0xf4c79b4e
or eax, 0x5f355942
and eax, 0x110a8d9f
imul eax, eax, 0xbf454038
sub eax, 0x39ad327e
sub eax, 0x1f742c4a
xor eax, 0x4b1e9309
xor eax, 0x2c9bb319
sub eax, 0xdef82da1
mov ecx, 0x7cb1aa33
xor edx, edx
div ecx
sub eax, 0x481f2b86
mov ecx, 0x11d84b76
xor edx, edx
div ecx
and eax, 0xdb6f20f8
add eax, 0xef2e48b3
or eax, 0x48ecb473
add eax, 0x43e349a2
or eax, 0x195325fe
xor eax, 0x66e5055b
add eax, 0x1786e94c
or eax, 0x3fe24a07
add eax, 0x813833ab
mov ecx, 0x6c8f9d5a
xor edx, edx
div ecx
imul eax, eax, 0x4b5adcdd
xor eax, 0xfb6da8a
imul eax, eax, 0x8829083d
xor eax, 0x10e2d1b
add eax, 0x5232435c
sub eax, 0xceadcb62
or eax, 0x27f7cc27
mov ecx, 0xa23db1c1
xor edx, edx
div ecx
mov ecx, 0xcdb73bb
xor edx, edx
div ecx
xor eax, 0x2a77ecaf
cmp eax, 0x28c86ead
jbe 0x1003cd53
mov ecx, dword [esi + 0x3c]
mov eax, 0x4400280
mov dword [esi + 0x1c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10109a30
mov edx, dword [esi + 0x24]
mov ecx, eax
mov eax, dword [esi + 0x28]
mov edx, dword [edx]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x2c]
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
mov dword [eax + 0x10], 1
call fcn.10109de0
mov ecx, dword [esi + 0x2c]
call fcn.1003b500
mov ecx, eax
mov eax, dword [esi + 0x1c]
and ecx, edx
sub ecx, 0xffffffff
sete cl
mov byte [esi + 0x23], cl
cmp eax, 0x342afb08
ja 0x1003cd53
mov al, byte [esi + 0x23]
test al, 1
jne 0x1003bc94
jmp 0x1003c182
mov eax, dword [0x10147008]
or eax, dword [0x1014700c]
and eax, 0x2ead3504
add eax, 0x3c7be6ca
imul eax, eax, 0xc1bac711
xor eax, 0xeebfa59a
imul eax, eax, 0x3cee12bc
add eax, 0x49aaa50b
add eax, 0x5d3a8517
mov ecx, 0xde267535
xor edx, edx
div ecx
and eax, 0x32af26a
xor eax, 0xfa7cda81
or eax, 0x91bc3af8
and eax, 0x7ade3c36
mov ecx, 0x6d3d73ee
xor edx, edx
div ecx
xor eax, 0x672ce8ec
and eax, 0xd97bca33
imul eax, eax, 0x77cec565
and eax, 0xc869945
sub eax, 0xc7e2f997
imul eax, eax, 0x28f13eb2
add eax, 0xc628fe3f
or eax, 0x8e44ba20
mov ecx, 0x60c6fb3a
xor edx, edx
div ecx
imul eax, eax, 0xbec98152
or eax, 0x8488c692
sub eax, 0x736e4442
xor eax, 0xc78e5b0a
sub eax, 0x2fae38e2
imul eax, eax, 0xc18899c2
and eax, 0x2bd2b2fa
imul eax, eax, 0xa5259bdd
or eax, 0xdc23e64a
or eax, 0x1f3900e4
xor eax, 0x55cbb612
cmp eax, 0xb2d7673a
jae 0x1003c93b
mov eax, dword [0x10147010]
or eax, dword [0x10147014]
sub eax, 0x235e1e6f
or eax, 0x94993625
xor eax, 0xf7bc461f
or eax, 0xd3908977
xor eax, 0xae8c36e7
and eax, 0x687dc8c7
and eax, 0x8019cedc
imul eax, eax, 0xef78a102
and eax, 0x280eb39a
add eax, 0x41824560
xor eax, 0x921a92ae
add eax, 0xf00bc7e5
sub eax, 0xd9d88320
xor eax, 0x60fa49f7
imul eax, eax, 0xce1597aa
xor eax, 0xae38a0b0
or eax, 0x2ff2db67
sub eax, 0x899e38cb
add eax, 0x7df86041
add eax, 0xdcf45a4
add eax, 0xe1cd93c1
xor eax, 0xcf59162d
imul eax, eax, 0xe0efb5dd
imul eax, eax, 0x5f5a4bc0
or eax, 0xa2929b8c
sub eax, 0x27b8869c
imul eax, eax, 0x7de7eafc
imul eax, eax, 0x4787d146
mov ecx, 0xc51fd38b
xor edx, edx
div ecx
xor eax, 0x2d3a2f56
add eax, 0xf5e85e72
and eax, 0x828cd3a8
xor eax, 0x7d92d0c4
cmp eax, 0x497c7bf4
jbe 0x1003cd9d
mov ecx, dword [esi + 0x30]
mov eax, dword [0x10147018]
sub eax, dword [0x1014701c]
mov edi, 0x401fbb6
xor edx, edx
div edi
imul eax, eax, 0x2d918898
or eax, 0x82b5f180
imul eax, eax, 0x896ae4e5
or eax, 0xe88134e6
sub eax, 0xc3456a2
mov edi, 0x90edc43e
xor edx, edx
div edi
and eax, 0x4b6ab101
sub eax, 0x608edd7
sub eax, 0x56575c54
sub eax, 0x1108eccc
sub eax, 0x4450929c
imul eax, eax, 0xa0f24e1b
or eax, 0xf57e4dd5
add eax, 0x2b6fa77
xor eax, 0x44c6f21f
or eax, 0x4a7d6bff
imul eax, eax, 0xa440a475
and eax, 0xbb91d8d2
mov edi, 0xb50a7d23
xor edx, edx
div edi
or eax, 0x51d70ea6
add eax, 0x24a19440
or eax, 0x8755d98e
imul eax, eax, 0x15fd689c
mov edi, 0x745586e1
xor edx, edx
div edi
add eax, 0xa40a4f44
and eax, 0x72b6635a
and eax, 0x34203cbc
mov edi, 0x7c6afa65
xor edx, edx
div edi
sub eax, 0xe2748d8d
xor eax, 0x54ead2c3
sub eax, 0x4731c3a8
imul eax, eax, 0xb844c13b
mov edx, dword [ecx]
or edx, 2
mov dword [ecx], edx
cmp eax, 0xb30ee44b
je 0x1003be27
mov eax, dword [0x10147020]
imul eax, dword [0x10147024]
add eax, 0x194dc2d8
add eax, 0xeea713cd
xor eax, 0xb40d4501
sub eax, 0x14885728
and eax, 0x2f5461b6
xor eax, 0xe1f181bd
and eax, 0x4a27256f
sub eax, 0x5fdfd818
mov ecx, 0x8f306653
xor edx, edx
div ecx
and eax, 0x273000b5
xor eax, 0x72aa5eec
imul eax, eax, 0xb858040d
sub eax, 0x788895f9
and eax, 0xc6b3f204
add eax, 0xc8157e15
xor eax, 0xd0347e35
sub eax, 0x48336a27
sub eax, 0x67be46a3
and eax, 0xe3abdb7c
or eax, 0x54e8241e
imul eax, eax, 0xfa518e78
add eax, 0x9d31cf
or eax, 0xac7b4c29
mov ecx, 0x3d6fc4e5
xor edx, edx
div ecx
add eax, 0xa69615d9
and eax, 0x2653b45b
sub eax, 0xd671ba3b
imul eax, eax, 0xb843c26d
add eax, 0xdaf4f6f2
and eax, 0x9784ca4
mov ecx, 0x6bfdcf4b
xor edx, edx
div ecx
add eax, 0xcfe6df22
sub eax, 0x75465d3b
cmp eax, 0x226c9938
jb 0x1003c93b
mov eax, dword [0x10147028]
xor edx, edx
div dword [0x1014702c]
xor eax, 0xe9568bdc
sub eax, 0xb7ebfd0
xor eax, 0xc21679f7
or eax, 0x92a2d215
and eax, 0x4e42c154
sub eax, 0xdcfb408f
or eax, 0x59938eb9
sub eax, 0xc03cfd28
and eax, 0xa52d594e
xor eax, 0x6522b560
xor eax, 0xf57c5c4d
or eax, 0x419549aa
imul eax, eax, 0xbd4f58f1
imul eax, eax, 0x27373fa3
xor eax, 0x914366e5
mov ecx, 0x68e88ded
xor edx, edx
div ecx
mov ecx, 0xe4def25e
xor edx, edx
div ecx
and eax, 0xf9195f62
imul eax, eax, 0xe64c9eeb
imul eax, eax, 0x22c92f64
sub eax, 0x66c4e8bc
imul eax, eax, 0x9436e575
and eax, 0x9c65ee21
or eax, 0xc6867f08
add eax, 0xd2ea2794
add eax, 0xf7b95041
and eax, 0xfa14e5d3
add eax, 0xbf725633
and eax, 0xb0d4a77b
and eax, 0x8c345bda
imul eax, eax, 0x31aaf867
imul eax, eax, 0x279b6a0e
mov ecx, 0x11974c0f
xor edx, edx
div ecx
cmp eax, 0xe4df38c5
ja 0x1003cdac
mov eax, dword [0x10147030]
xor eax, dword [0x10147034]
imul eax, eax, 0x819ac52f
and eax, 0x4a2af3fe
and eax, 0x88f8ae75
sub eax, 0x5ae07b96
sub eax, 0x5ab3e22b
xor eax, 0xdc9a61
imul eax, eax, 0x83426537
mov ecx, 0x82bb6c85
xor edx, edx
div ecx
sub eax, 0xaae37bcd
imul eax, eax, 0x65c25c6e
sub eax, 0x5f114592
xor eax, 0xf5c65b6a
and eax, 0x78dc46e6
and eax, 0xacd233e2
xor eax, 0x7b394003
mov ecx, 0x86c7b38b
xor edx, edx
div ecx
xor eax, 0x46a3d329
imul eax, eax, 0x483cd986
mov ecx, 0xfd5d945e
xor edx, edx
div ecx
mov ecx, 0x2a962482
xor edx, edx
div ecx
or eax, 0x58e72057
add eax, 0x7246b1aa
xor eax, 0xa904b3f4
imul eax, eax, 0x56476e79
add eax, 0x3c15fce6
sub eax, 0x141e71dc
mov ecx, 0xeebea930
xor edx, edx
div ecx
mov ecx, 0x79d2027a
xor edx, edx
div ecx
mov ecx, 0x8befd001
xor edx, edx
div ecx
sub eax, 0x2b9421d
sub eax, 0x29391670
xor eax, 0x673f52b7
add eax, 0xf9670c33
cmp eax, 0x928589e0
jbe 0x1003c0a1
jmp 0x1003c182
mov eax, dword [0x10147038]
and eax, dword [0x1014703c]
and eax, 0x7ed9f962
mov ecx, 0xd3a8ebd2
xor edx, edx
div ecx
add eax, 0xbfb50050
and eax, 0xd00c2959
mov ecx, 0x646d3c58
xor edx, edx
div ecx
imul eax, eax, 0xf0e645b2
mov ecx, 0x16af7222
xor edx, edx
div ecx
sub eax, 0xf9e670c4
or eax, 0xd85c10ab
or eax, 0xf4188e64
mov ecx, 0x9e5cb09d
xor edx, edx
div ecx
imul eax, eax, 0x2f54ad8b
and eax, 0xa54079b6
or eax, 0x470a5cc5
sub eax, 0x47abe2d0
xor eax, 0x22f7effa
imul eax, eax, 0x8cf1712c
xor eax, 0x2f88c2de
and eax, 0xf3960667
sub eax, 0x8137e5d3
or eax, 0xadff7ca8
and eax, 0xea7f8262
sub eax, 0x50e53814
sub eax, 0xd577833
imul eax, eax, 0x3940a542
and eax, 0x14604e0c
or eax, 0x2bf1f5dc
or eax, 0x5551c134
add eax, 0x88f46ba8
xor eax, 0x393d7905
xor eax, 0xa429e403
mov ecx, 0x4b9da49e
xor edx, edx
div ecx
imul eax, eax, 0x8027fa4f
cmp eax, 0x1eb22cea
jb 0x1003caf4
mov eax, dword [0x10147040]
imul eax, dword [0x10147044]
xor eax, 0x64b9d526
add eax, 0xc2ebe738
mov ecx, 0x5f021415
xor edx, edx
div ecx
sub eax, 0x67af2e31
add eax, 0x3f8c56a6
imul eax, eax, 0x513ae9a
add eax, 0x76ef092f
xor eax, 0x4b0d5747
xor eax, 0xcb5eeca5
and eax, 0x95ada0b7
add eax, 0x439c4c0f
and eax, 0x4cb9455b
and eax, 0xb76c4330
add eax, 0x6dcfdf47
sub eax, 0xa7fe6d15
sub eax, 0xcfee110d
add eax, 0x2ccf9cb4
mov ecx, 0x3e17d381
xor edx, edx
div ecx
and eax, 0xabd0cfd0
or eax, 0xd09e6317
imul eax, eax, 0xe6209325
mov ecx, 0xe78fbcbf
xor edx, edx
div ecx
and eax, 0x9e9490d2
add eax, 0x3d3f33a6
imul eax, eax, 0xf0393abe
imul eax, eax, 0xca6fe24a
or eax, 0x2c22230a
imul eax, eax, 0xe8d74526
mov ecx, 0x7d7e31a7
xor edx, edx
div ecx
sub eax, 0x7692b8f
add eax, 0xc8675ca8
sub eax, 0x3d971ec8
add eax, 0x421d150e
cmp eax, 0x322bcaf7
je 0x1003cdb1
mov eax, dword [0x10147048]
or eax, dword [0x1014704c]
mov ecx, 0xc6a3f708
xor edx, edx
div ecx
and eax, 0xf02f73dd
or eax, 0x113063c7
and eax, 0x92ab525b
xor eax, 0xa1b7eb84
add eax, 0xb2fcc401
xor eax, 0x22b1d6e0
sub eax, 0x85898d9d
and eax, 0xd5596229
imul eax, eax, 0x4ea62df4
xor eax, 0xc947c75a
xor eax, 0x8666fcea
or eax, 0xd974a3a5
or eax, 0x3b4d9f39
or eax, 0x8b639012
xor eax, 0x27792516
add eax, 0xf006afdf
mov ecx, 0xab5144b6
xor edx, edx
div ecx
xor eax, 0x43a0eaf
mov ecx, 0xd50672f5
xor edx, edx
div ecx
xor eax, 0xdf16470
add eax, 0x3d1b6400
xor eax, 0x21fd7643
imul eax, eax, 0x85143b3b
sub eax, 0xa49aba6f
or eax, 0x8398803f
or eax, 0xcdca5f59
or eax, 0x322a2f15
sub eax, 0x36e3fd45
imul eax, eax, 0x19fbdfa4
mov ecx, 0xe33a55c5
xor edx, edx
div ecx
add eax, 0x2123ea64
sub eax, 0x493021c2
cmp eax, 0xda46bfa9
je 0x1003cdb1
mov eax, dword [0x10147050]
add eax, dword [0x10147054]
imul eax, eax, 0xef74bb0
imul eax, eax, 0xda1d7cb3
xor eax, 0x367cf7b1
mov ecx, 0x9b16af37
xor edx, edx
div ecx
mov ecx, 0xba6487ae
xor edx, edx
div ecx
add eax, 0x44e91ff9
and eax, 0x141b3261
add eax, 0x8aaaf067
xor eax, 0xaa743514
or eax, 0x74e5b53f
and eax, 0xaae3dd40
mov ecx, 0x1de125be
xor edx, edx
div ecx
imul eax, eax, 0x36c997bf
xor eax, 0x78af425a
xor eax, 0xe5d6aa3e
add eax, 0xcf53b840
imul eax, eax, 0xd64190d2
and eax, 0x14370277
and eax, 0xb7e76f35
xor eax, 0x36156a62
and eax, 0xafee9c3a
mov ecx, 0x6acc5e39
xor edx, edx
div ecx
xor eax, 0x5833e871
add eax, 0x44238a52
mov ecx, 0xd821b659
xor edx, edx
div ecx
sub eax, 0x7fee82a9
imul eax, eax, 0xe945f32e
mov ecx, 0x34f12eaa
xor edx, edx
div ecx
and eax, 0xd95abd5
or eax, 0x3ac6e465
imul eax, eax, 0x88fe6ebb
imul eax, eax, 0xd46e7c2a
sub eax, 0x157147cc
cmp eax, 0x38e45732
je 0x1003caf4
mov eax, dword [0x10147058]
xor edx, edx
div dword [0x1014705c]
mov ecx, 0x1dec9423
xor edx, edx
div ecx
imul eax, eax, 0xf1a723cb
sub eax, 0x506ca797
xor eax, 0xcb1c6134
add eax, 0xaab5cbfe
sub eax, 0x8f192a31
mov ecx, 0x3c8c34f0
xor edx, edx
div ecx
imul eax, eax, 0x9587770c
add eax, 0x762e44d3
mov ecx, 0x8d365789
xor edx, edx
div ecx
add eax, 0xc6addfe2
imul eax, eax, 0x613b5a68
add eax, 0x77668f98
xor eax, 0x1488a870
add eax, 0x5a481c50
and eax, 0xd49c4c0f
and eax, 0xa0a5b703
and eax, 0x1127abac
sub eax, 0x2156d431
mov ecx, 0x2ec6a4cb
xor edx, edx
div ecx
imul eax, eax, 0xcaadfef7
add eax, 0x7d26c807
imul eax, eax, 0x9546adbe
mov ecx, 0xc14600e6
xor edx, edx
div ecx
mov ecx, 0xee38b14a
xor edx, edx
div ecx
sub eax, 0x7d3fd8b7
imul eax, eax, 0xe3b4e881
add eax, 0xebfd8d6f
imul eax, eax, 0xd6dd6ff9
add eax, 0x4d921f4a
mov ecx, 0xcd078899
xor edx, edx
div ecx
and eax, 0xfc962d54
and eax, 0xff412f34
cmp eax, 0x448e1df7
ja 0x1003cdb6
mov eax, dword [0x10147060]
imul eax, dword [0x10147064]
mov ecx, 0x79f3d81d
xor edx, edx
div ecx
or eax, 0xb3a3c8d3
xor eax, 0xb7cac822
and eax, 0xdd65a7e
mov ecx, 0x803a21a3
xor edx, edx
div ecx
add eax, 0xf765306
and eax, 0xe34aa359
and eax, 0xcc1f90a
or eax, 0xcf7b7dfb
xor eax, 0xb4e69caf
mov ecx, 0x893e3f54
xor edx, edx
div ecx
mov ecx, 0xe256fcab
xor edx, edx
div ecx
xor eax, 0x8f63cd81
and eax, 0xf1d50d34
mov ecx, 0x8b9d0848
xor edx, edx
div ecx
add eax, 0xe98f91cc
imul eax, eax, 0x996affe6
mov ecx, 0xdf82ad1b
xor edx, edx
div ecx
add eax, 0x68ebfa81
xor eax, 0xc76be5b8
or eax, 0x1c97f017
mov ecx, 0xedbabd6a
xor edx, edx
div ecx
imul eax, eax, 0xebedb98
add eax, 0x51ee5f2c
mov ecx, 0x18a11b80
xor edx, edx
div ecx
and eax, 0xd6243f86
or eax, 0xfdd4df49
imul eax, eax, 0xf7621d9d
imul eax, eax, 0xf312df92
or eax, 0xf3fe1707
add eax, 0x5bac2a18
add eax, 0xdb8f854a
or eax, 0xd5bb72e3
cmp eax, 0xc926801d
jbe 0x1003cdb6
jmp 0x1003c694
mov eax, dword [str._bpNe]
xor edx, edx
div dword [0x1014706c]
imul eax, eax, 0x3a41fa05
and eax, 0x3bb45f7
xor eax, 0xbc9243b1
add eax, 0xa962705b
add eax, 0xcefb347c
xor eax, 0x465d2832
and eax, 0xc7827ad2
xor eax, 0x82544073
mov ecx, 0x9230a98e
xor edx, edx
div ecx
mov ecx, 0xab933f6b
xor edx, edx
div ecx
imul eax, eax, 0x9fe84174
or eax, 0x978a4d45
add eax, 0x34b2f673
add eax, 0xa1bf4f9b
add eax, 0x51fe03ff
and eax, 0xb44d0400
add eax, 0xc07c1efb
imul eax, eax, 0x819f0a68
and eax, 0x80ec4f17
xor eax, 0xd119efe8
mov ecx, 0x938c8a3c
xor edx, edx
div ecx
imul eax, eax, 0xcbc8c6dc
add eax, 0xde6e582c
or eax, 0xb5ba37df
sub eax, 0xd62dea43
sub eax, 0x85d934ed
xor eax, 0x127cf4bb
mov ecx, 0xfe3bf443
xor edx, edx
div ecx
add eax, 0x5cded3cb
imul eax, eax, 0x8f22eea9
sub eax, 0x11a29d4
imul eax, eax, 0x351518e5
imul eax, eax, 0x517b3d8d
cmp eax, 0x384fc266
jb 0x1003cdbb
mov ecx, dword [esi + 0x3c]
mov eax, dword [0x10147070]
and eax, dword [0x10147074]
sub eax, 0x4f69a049
mov edi, 0xad70ddd3
xor edx, edx
div edi
or eax, 0x6bb1eac4
imul eax, eax, 0x190085cf
mov edi, 0xacf3e11e
xor edx, edx
div edi
sub eax, 0x6cd07d59
sub eax, 0xd37560bd
mov edi, 0x5f26cc88
xor edx, edx
div edi
and eax, 0xc0271642
xor eax, 0xe13b2e4d
add eax, 0xd824521c
add eax, 0x2cb5effa
imul eax, eax, 0x377d0604
imul eax, eax, 0xcb61aa59
and eax, 0x28df5eb2
sub eax, 0xcd77fe4f
or eax, 0xd26b9334
add eax, 0xce2847d1
xor eax, 0x6eb2dc08
or eax, 0xd5c046d3
and eax, 0x8aea7626
imul eax, eax, 0xb4724bc8
mov edi, 0x6c63afe9
xor edx, edx
div edi
add eax, 0xe7c31491
imul eax, eax, 0xd7a11ca
and eax, 0xbfaa1cb8
imul eax, eax, 0x1eb8bd5a
xor eax, 0x6c981ce8
add eax, 0x2bc9793d
and eax, 0xe819c4fa
mov edi, 0x5e0050f1
xor edx, edx
div edi
mov edx, eax
mov eax, dword [esi + 0x30]
imul edx, edx, 0xcc040601
xor edx, 0x7264862
mov dword [esi + 0x18], edx
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add edx, 0
add ecx, edx
mov eax, dword [eax]
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100d2590
mov ecx, dword [esi + 0x38]
call fcn.10109e60
mov eax, dword [esi + 0x18]
cmp eax, 0x11fa0715
je 0x1003cdbb
mov eax, dword [esi + 0x3c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
push eax
mov edx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
mov ebx, esp
mov dword [esi + 0xc], ebx
sub esp, 8
mov ebx, esp
mov dword [esi + 0x10], ebx
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
mov ebx, dword [esi + 0x54]
mov dword [edx], ebx
mov ebx, dword [esi + 0x50]
mov edx, dword [esi + 0x4c]
mov dword [edi + 4], edx
mov edx, dword [esi + 0x48]
mov dword [edi], ebx
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [esi + 0x14], ecx
mov dword [eax], 0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10108d20
mov ecx, dword [esi + 0x14]
mov edx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], edx
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add edx, 0
add ecx, edx
mov eax, dword [eax]
and eax, 0xfffffffe
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10108b80
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.10109280
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10109650
jmp 0x1003b8c4
mov eax, dword [0x10147078]
sub eax, dword [0x1014707c]
sub eax, 0x5bbf7568
add eax, 0xdd61b4e
xor eax, 0x6d7c1ac8
mov ecx, 0x1bd5037c
xor edx, edx
div ecx
imul eax, eax, 0x3a471db7
mov ecx, 0x2f6a9404
xor edx, edx
div ecx
xor eax, 0x52e9df25
imul eax, eax, 0x66dbddf9
imul eax, eax, 0x43977a4d
or eax, 0xeda9d4be
xor eax, 0x5b2a3af
or eax, 0xb8d361fe
add eax, 0x145ee3ca
mov ecx, 0xf6f38402
xor edx, edx
div ecx
imul eax, eax, 0x78b16f8d
and eax, 0x6b694e97
sub eax, 0x7b702c7d
mov ecx, 0xb77b94da
xor edx, edx
div ecx
or eax, 0xf15787b0
and eax, 0x165d7de2
add eax, 0x295a5b64
xor eax, 0xd180d669
or eax, 0xdcc3498a
and eax, 0x6baf48b0
xor eax, 0x378cea6f
mov ecx, 0xc829e91d
xor edx, edx
div ecx
sub eax, 0x77aeaf1f
sub eax, 0xede918b
add eax, 0x6c3f121d
or eax, 0xb510883a
sub eax, 0x84d680a1
add eax, 0x9247e742
and eax, 0x61efbfba
cmp eax, 0x8e0c6588
jae 0x1003cdef
mov ecx, dword [esi + 0x30]
mov eax, dword [0x10147080]
or eax, dword [0x10147084]
and eax, 0x1f7b6bd6
add eax, 0x6a2cb47f
mov edi, 0x9bbd42f2
xor edx, edx
div edi
xor eax, 0xa759cc8
sub eax, 0x6fb4fc18
and eax, 0xa78c9c88
xor eax, 0xbd354765
and eax, 0x7eb6a254
and eax, 0x2cc421c5
sub eax, 0x81433999
sub eax, 0x716b321
or eax, 0x4891a059
or eax, 0xb47a89bd
imul eax, eax, 0x53cdc5b8
add eax, 0xeb3fc4e5
and eax, 0x75e7b153
imul eax, eax, 0x7b70142c
imul eax, eax, 0x245a52c7
and eax, 0x9587734e
xor eax, 0xdf488252
xor eax, 0x5938f5bf
and eax, 0xf55c7e0a
mov edi, 0xed9579ae
xor edx, edx
div edi
imul eax, eax, 0x19a49db6
add eax, 0x5cf6c0c2
mov edi, 0xca05610e
xor edx, edx
div edi
xor eax, 0x8cdd5099
and eax, 0x30a204b2
sub eax, 0x52d6e6ac
sub eax, 0x95c7dae2
mov edi, 0x3173aeb9
xor edx, edx
div edi
mov edi, 0xce923358
xor edx, edx
div edi
mov edi, 0x8c7ca044
xor edx, edx
div edi
mov edx, dword [ecx]
or edx, 2
mov dword [ecx], edx
cmp eax, 0x82b3ee11
je 0x1003cdef
jmp 0x1003bd62
mov eax, dword [0x10147088]
xor eax, dword [0x1014708c]
and eax, 0xac9265fd
mov ecx, 0x923c82ab
xor edx, edx
div ecx
or eax, 0x9d908b3a
imul eax, eax, 0xdb38127b
xor eax, 0x3575a42b
and eax, 0xbf457618
add eax, 0xa4b51416
and eax, 0xaa7dcd3b
imul eax, eax, 0xfbe90647
or eax, 0x8d1d895
and eax, 0xa3b9075b
imul eax, eax, 0x486dc1cc
and eax, 0x1d68acae
mov ecx, 0xa9ec4f6a
xor edx, edx
div ecx
and eax, 0x59eb5a51
xor eax, 0x2456f488
add eax, 0xdde14d64
mov ecx, 0xe1772621
xor edx, edx
div ecx
and eax, 0xf0d65c4f
or eax, 0x19b4af01
add eax, 0x19eb466d
mov ecx, 0x3c34ffdc
xor edx, edx
div ecx
imul eax, eax, 0x4985b720
and eax, 0x8f855697
mov ecx, 0x33d4685
xor edx, edx
div ecx
sub eax, 0x1d4ee9e2
and eax, 0xfc5ff0b5
xor eax, 0x5d364711
imul eax, eax, 0xd6e3fcd6
or eax, 0x3e4c914
xor eax, 0x4f46ddc4
sub eax, 0x73ca41a8
add eax, 0xf9e64196
cmp eax, 0x55fba4f6
jbe 0x1003cdfe
mov eax, dword [0x10147090]
sub eax, dword [0x10147094]
imul eax, eax, 0xefe4605d
or eax, 0x7943af80
sub eax, 0x2bc6f8b
sub eax, 0xc420b9f8
and eax, 0xb432038e
imul eax, eax, 0x4b0cf2e2
xor eax, 0x319b3747
or eax, 0xe4d5c045
imul eax, eax, 0x76b6e072
sub eax, 0xcc90d731
add eax, 0xb44f111c
sub eax, 0x69cc99f2
sub eax, 0x9ea42bc8
imul eax, eax, 0xa5e561c9
sub eax, 0x601076fc
sub eax, 0x19638c3c
or eax, 0x9840661d
and eax, 0x7c81f240
add eax, 0xb6881b92
xor eax, 0x61dd8929
or eax, 0x6b228631
mov ecx, 0xc82ca371
xor edx, edx
div ecx
mov ecx, 0xaf640048
xor edx, edx
div ecx
mov ecx, 0xcaa10a4e
xor edx, edx
div ecx
add eax, 0xcbbd05c
add eax, 0xbb4bca4a
and eax, 0x15b9d013
xor eax, 0x118514bd
or eax, 0x7e66e717
or eax, 0x3ee527c3
and eax, 0x2e58dbf0
imul eax, eax, 0x9145fad7
mov ecx, 0xbc8fdd2
xor edx, edx
div ecx
cmp eax, 0x1480f60b
jae 0x1003cbc8
jmp 0x1003c256
push eax
mov edx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
mov ebx, esp
mov dword [esi], ebx
sub esp, 8
mov ebx, esp
mov dword [esi + 4], ebx
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
mov ebx, dword [esi + 0x54]
mov dword [edx], ebx
mov ebx, dword [esi + 0x50]
mov edx, dword [esi + 0x4c]
mov dword [edi + 4], edx
mov edx, dword [esi + 0x48]
mov dword [edi], ebx
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [esi + 8], ecx
mov dword [eax], 0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10108d20
mov ecx, dword [esi + 8]
mov edx, eax
mov eax, dword [esi]
mov dword [eax], edx
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add edx, 0
add ecx, edx
mov eax, dword [eax]
and eax, 0xfffffffe
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10108b80
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.10109280
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10109650
jmp 0x1003b990
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10109a30
mov edx, dword [esi + 0x24]
mov ecx, eax
mov eax, dword [esi + 0x28]
mov edx, dword [edx]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
sub esp, 0x14
mov eax, esp
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x2c]
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
mov dword [eax + 0x10], 1
call fcn.10109de0
mov ecx, dword [esi + 0x2c]
call fcn.1003b500
jmp 0x1003bc1c
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
or ecx, 2
mov dword [eax], ecx
jmp 0x1003be27
jmp 0x1003c0a1
jmp 0x1003c327
jmp 0x1003c5af
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add edx, 0
add ecx, edx
mov eax, dword [eax]
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.100d2590
mov ecx, dword [esi + 0x38]
call fcn.10109e60
jmp 0x1003c768
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
or ecx, 2
mov dword [eax], ecx
jmp 0x1003ca0e
jmp 0x1003cbc8