Function at 0x402d30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48a028
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x4af454]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor ebx, ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 2
cmp edi, 0x10
lea ecx, [ebp - 0x38]
mov eax, ebx
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afdd0]
cmp edi, 0x10
mov byte [ebx + 0x4b1364], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
lea eax, [eax - 1]
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afdd1]
cmp edi, 0x10
mov byte [ebx + 0x4b1365], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x14]
xor al, byte [edx + 0x4afdd0]
cmp edi, 0x10
mov edx, dword [ebp - 0x18]
cmovae ecx, esi
mov byte [edx + 0x4b1363], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
xor al, byte [ecx + 0x4afdd0]
cmp edi, 0x10
mov byte [edx + 0x4b1363], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afdd0]
cmp edi, 0x10
mov byte [edx + 0x4b1363], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
add dword [ebp - 0x18], 6
div dword [ebp - 0x10]
add dword [ebp - 0x1c], 6
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afdd0]
add ecx, 6
mov byte [ebx + 0x4b1369], al
add ebx, 6
mov eax, dword [ebp - 0x14]
add eax, 6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, 0xe
jb 0x402d96
cmp edi, 0x10
jb 0x402ec3
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x402eb9
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038bb
push ecx
push esi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor ebx, ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x14], 2
nop word [eax + eax]
cmp edi, 0x10
lea ecx, [ebp - 0x38]
mov eax, ebx
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afdf4]
cmp edi, 0x10
mov byte [ebx + 0x4b12fc], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
lea eax, [eax - 1]
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afdf5]
cmp edi, 0x10
mov byte [ebx + 0x4b12fd], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x14]
xor al, byte [edx + 0x4afdf4]
cmp edi, 0x10
mov edx, dword [ebp - 0x1c]
cmovae ecx, esi
mov byte [edx + 0x4b12fb], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
xor al, byte [ecx + 0x4afdf4]
cmp edi, 0x10
mov byte [edx + 0x4b12fb], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afdf4]
cmp edi, 0x10
mov byte [edx + 0x4b12fb], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
add dword [ebp - 0x1c], 6
div dword [ebp - 0x10]
add dword [ebp - 0x18], 6
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afdf4]
add ecx, 6
mov byte [ebx + 0x4b1301], al
add ebx, 6
mov eax, dword [ebp - 0x14]
add eax, 6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, 0x14
jb 0x402f00
cmp edi, 0x10
jb 0x40302d
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x403023
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038c0
push ecx
push esi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor esi, esi
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp ebx, 0x10
lea ecx, [ebp - 0x38]
mov eax, esi
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afe2c]
cmp ebx, 0x10
mov byte [esi + 0x4b1374], al
lea eax, [esi + 1]
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
movzx eax, byte [edx + ecx]
xor al, byte [esi + 0x4afe2d]
mov byte [esi + 0x4b1375], al
add esi, 2
cmp esi, 0xe
jb 0x403048
cmp ebx, 0x10
jb 0x4030bf
inc ebx
mov eax, edi
cmp ebx, 0x1000
jb 0x4030b5
mov edi, dword [edi - 4]
add ebx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038c5
push ebx
push edi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor esi, esi
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
nop word [eax + eax]
cmp ebx, 0x10
lea ecx, [ebp - 0x38]
mov eax, esi
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afe08]
cmp ebx, 0x10
mov byte [esi + 0x4b1330], al
lea eax, [esi + 1]
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
movzx eax, byte [edx + ecx]
xor al, byte [esi + 0x4afe09]
mov byte [esi + 0x4b1331], al
add esi, 2
cmp esi, 0xe
jb 0x4030e0
cmp ebx, 0x10
jb 0x403157
inc ebx
mov eax, edi
cmp ebx, 0x1000
jb 0x40314d
mov edi, dword [edi - 4]
add ebx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038ca
push ebx
push edi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor esi, esi
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 3
lea ebx, [esi + 2]
nop dword [eax]
cmp dword [ebp - 0x24], 0x10
lea ecx, [ebp - 0x38]
mov eax, esi
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afde0]
cmp dword [ebp - 0x24], 0x10
mov byte [esi + 0x4b1394], al
lea eax, [ebx - 1]
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afde1]
cmp dword [ebp - 0x24], 0x10
mov byte [esi + 0x4b1395], al
mov eax, ebx
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afde0]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x24], 0x10
cmovae ecx, edi
add ebx, 4
mov byte [edx + 0x4b1393], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afde0]
add ecx, 4
mov byte [esi + 0x4b1397], al
add esi, 4
mov dword [ebp - 0x20], ecx
cmp ebx, 0x12
jb 0x403180
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x403253
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x403249
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038cf
push ecx
push edi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor esi, esi
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 3
lea ebx, [esi + 2]
cmp dword [ebp - 0x24], 0x10
lea ecx, [ebp - 0x38]
mov eax, esi
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afe18]
cmp dword [ebp - 0x24], 0x10
mov byte [esi + 0x4b1340], al
lea eax, [ebx - 1]
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afe19]
cmp dword [ebp - 0x24], 0x10
mov byte [esi + 0x4b1341], al
mov eax, ebx
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe18]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x24], 0x10
cmovae ecx, edi
add ebx, 4
mov byte [edx + 0x4b133f], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x1c]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe18]
add ecx, 4
mov byte [esi + 0x4b1343], al
add esi, 4
mov dword [ebp - 0x20], ecx
cmp ebx, 0x12
jb 0x403275
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x403348
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40333e
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038d4
push ecx
push edi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor ebx, ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x14], 2
nop
cmp edi, 0x10
lea ecx, [ebp - 0x38]
mov eax, ebx
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe3c]
cmp edi, 0x10
mov byte [ebx + 0x4b1310], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
lea eax, [eax - 1]
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe3d]
cmp edi, 0x10
mov byte [ebx + 0x4b1311], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x14]
xor al, byte [edx + 0x4afe3c]
cmp edi, 0x10
mov edx, dword [ebp - 0x1c]
cmovae ecx, esi
mov byte [edx + 0x4b130f], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
xor al, byte [ecx + 0x4afe3c]
cmp edi, 0x10
mov byte [edx + 0x4b130f], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe3c]
cmp edi, 0x10
mov byte [edx + 0x4b130f], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
add dword [ebp - 0x1c], 6
div dword [ebp - 0x10]
add dword [ebp - 0x18], 6
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe3c]
add ecx, 6
mov byte [ebx + 0x4b1315], al
add ebx, 6
mov eax, dword [ebp - 0x14]
add eax, 6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, 0xe
jb 0x403380
cmp edi, 0x10
jb 0x4034ad
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4034a3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038d9
push ecx
push esi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor esi, esi
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp ebx, 0x10
lea ecx, [ebp - 0x38]
mov eax, esi
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
mov al, byte [edx + ecx]
xor al, byte [esi + 0x4afe7c]
mov byte [esi + 0x4b1354], al
inc esi
cmp esi, 0xd
jb 0x4034c8
cmp ebx, 0x10
jb 0x40351b
inc ebx
mov eax, edi
cmp ebx, 0x1000
jb 0x403511
mov edi, dword [edi - 4]
add ebx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038de
push ebx
push edi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor ebx, ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x14], 2
cmp edi, 0x10
lea ecx, [ebp - 0x38]
mov eax, ebx
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe5c]
cmp edi, 0x10
mov byte [ebx + 0x4b13a8], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
lea eax, [eax - 1]
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe5d]
cmp edi, 0x10
mov byte [ebx + 0x4b13a9], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x14]
xor al, byte [edx + 0x4afe5c]
cmp edi, 0x10
mov edx, dword [ebp - 0x1c]
cmovae ecx, esi
mov byte [edx + 0x4b13a7], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
xor al, byte [ecx + 0x4afe5c]
cmp edi, 0x10
mov byte [edx + 0x4b13a7], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe5c]
cmp edi, 0x10
mov byte [edx + 0x4b13a7], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
add dword [ebp - 0x1c], 6
div dword [ebp - 0x10]
add dword [ebp - 0x18], 6
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe5c]
add ecx, 6
mov byte [ebx + 0x4b13ad], al
add ebx, 6
mov eax, dword [ebp - 0x14]
add eax, 6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, 0xe
jb 0x403552
cmp edi, 0x10
jb 0x40367f
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x403675
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038e3
push ecx
push esi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor esi, esi
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
nop word [eax + eax]
cmp ebx, 0x10
lea ecx, [ebp - 0x38]
mov eax, esi
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [esi + 0x4afe6c]
cmp ebx, 0x10
mov byte [esi + 0x4b1320], al
lea eax, [esi + 1]
cmovae ecx, edi
xor edx, edx
div dword [ebp - 0x20]
movzx eax, byte [edx + ecx]
xor al, byte [esi + 0x4afe6d]
mov byte [esi + 0x4b1321], al
add esi, 2
cmp esi, 0xe
jb 0x4036a0
cmp ebx, 0x10
jb 0x403717
inc ebx
mov eax, edi
cmp ebx, 0x1000
jb 0x40370d
mov edi, dword [edi - 4]
add ebx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038e8
push ebx
push edi
call fcn.0046472a
add esp, 8
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.00404db0
movzx eax, byte [ebp - 0x28]
xor ebx, ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x14], 2
nop
cmp edi, 0x10
lea ecx, [ebp - 0x38]
mov eax, ebx
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe4c]
cmp edi, 0x10
mov byte [ebx + 0x4b1384], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
lea eax, [eax - 1]
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
xor al, byte [ebx + 0x4afe4d]
cmp edi, 0x10
mov byte [ebx + 0x4b1385], al
mov eax, dword [ebp - 0x14]
cmovae ecx, esi
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x14]
xor al, byte [edx + 0x4afe4c]
cmp edi, 0x10
mov edx, dword [ebp - 0x1c]
cmovae ecx, esi
mov byte [edx + 0x4b1383], al
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
xor al, byte [ecx + 0x4afe4c]
cmp edi, 0x10
mov byte [edx + 0x4b1383], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe4c]
cmp edi, 0x10
mov byte [edx + 0x4b1383], al
lea ecx, [ebp - 0x38]
cmovae ecx, esi
mov eax, edx
xor edx, edx
add dword [ebp - 0x1c], 6
div dword [ebp - 0x10]
add dword [ebp - 0x18], 6
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x20]
xor al, byte [ecx + 0x4afe4c]
add ecx, 6
mov byte [ebx + 0x4b1389], al
add ebx, 6
mov eax, dword [ebp - 0x14]
add eax, 6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, 0xe
jb 0x403750
cmp edi, 0x10
jb 0x403879
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40386f
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038ed
push ecx
push esi
call fcn.0046472a
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x4038a9
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40389f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038f2
push edx
push ecx
call fcn.0046472a
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
call fcn.0046c48e
int3