Function at 0x53bb50
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x58
mov esi, esp
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], esp
mov dword [esi + 0x50], 0xffffffff
lea eax, [esi + 0x48]
mov dword [esi + 0x4c], 0x55d6b0
mov edx, dword fs:[0]
mov dword [esi + 0x48], edx
mov dword fs:[0], eax
mov dword [esi + 0x2c], ecx
add ecx, 0x10
lea eax, [esi + 8]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x30]
push 1
call fcn.0053dd40
mov ecx, dword [0x597620]
mov eax, dword [0x597624]
lea edx, [ecx + 1]
imul ecx, edx
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov ebx, 0x549d064b
mov edx, 0xf6fc076c
cmovne edx, ebx
test edi, ecx
mov ecx, dword [esi + 0x30]
sete byte [esi + 7]
mov dword [esi + 0x14], ecx
mov edi, 0xf6fc076c
cmovne ebx, edx
cmp eax, 0xa
setl byte [esi + 0x1c]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x18], eax
cmovge ebx, edx
mov eax, 0x85388611
mov edx, 0xcbffc385
nop dword [eax + eax]
cmp eax, 0xf6fc076b
jle 0x53bc30
cmp eax, 0xf6fc076c
je 0x53bc42
cmp eax, 0x549d064b
jne 0x53bc10
jmp 0x53bc6b
cmp eax, 0x85388611
je 0x53bc49
cmp eax, 0xcbffc385
jne 0x53bc10
mov eax, ebx
jmp 0x53bc10
mov eax, 0xcbffc385
jmp 0x53bc10
movzx ecx, byte [esi + 7]
movzx eax, byte [esi + 0x1c]
mov ch, al
xor ch, cl
test al, al
mov eax, 0xf6fc076c
cmovne eax, edx
test cl, cl
cmove eax, edi
test ch, ch
cmovne eax, edx
jmp 0x53bc10
lea ecx, [esi + 0x14]
call fcn.0046dee0
test al, al
je 0x53bcd2
mov dword [esi + 0x50], 0xffffffff
lea edi, [esi + 0x30]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.005342a0
mov al, 1
cmp byte [ebp + 0x10], 0
jne 0x53bdff
mov eax, dword [0x599e18]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x599e1c], 0xa
setl cl
test cl, al
jne 0x53bde0
xor cl, al
jne 0x53bde0
nop word [eax + eax]
jmp 0x53bcd0
mov eax, dword [0x599a10]
mov ecx, dword [0x599a14]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x14]
cmp ecx, 0xa
setl byte [esi + 8]
mov edi, 0x563f466f
mov ecx, 0x5c93b070
mov edx, 0xc6f3aa65
nop word cs:[eax + eax]
cmp edi, 0x563f466e
jg 0x53bd30
cmp edi, 0xc6f3aa65
je 0x53bd61
cmp edi, 0x24d46864
jne 0x53bd10
jmp 0x53bdc7
cmp edi, 0x5c93b070
je 0x53bdb0
cmp edi, 0x563f466f
jne 0x53bd10
movzx eax, byte [esi + 0x14]
mov bh, byte [esi + 8]
mov bl, al
xor bl, bh
test bh, bh
mov edi, 0x5c93b070
cmovne edi, edx
test al, al
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x53bd10
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov byte [eax], 0
mov eax, dword [esi + 0x30]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete al
mov edi, 0x5c93b070
mov ebx, 0x24d46864
cmove edi, ebx
cmp dword [0x599a14], 0xa
cmovge edi, ecx
setl ah
xor ah, al
cmovne edi, ebx
jmp 0x53bd10
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov dword [eax + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53bd10
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x48]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
sar eax, 2
add ecx, 0x38
mov dword [esi + 0x50], 0
push edi
push 5
push eax
call fcn.00522550
mov edx, dword [0x599e18]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x599e1c], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x53be32
or dl, cl
test dl, 1
je 0x53be32
nop dword [eax]
jmp 0x53be30
test al, al
je 0x53bea2
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 8]
cmp dword [ecx + 4], eax
je 0x53bfa3
mov eax, dword [eax - 4]
test eax, eax
je 0x53c0b3
cmp byte [eax], 2
jne 0x53c1e0
mov ecx, dword [eax + 8]
mov dword [esi + 0x50], 0
lea eax, [esi + 0x30]
push eax
call fcn.00524430
mov ecx, dword [0x599e18]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x599e1c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53c4e4
or cl, al
test cl, 1
jne 0x53c6d7
jmp 0x53c4e4
mov eax, dword [0x599a10]
mov ecx, dword [0x599a14]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0x14]
mov edx, 0x563f466f
mov eax, 0x24d46864
mov ecx, 0xc6f3aa65
nop word cs:[eax + eax]
cmp edx, 0x563f466e
jg 0x53bf00
cmp edx, 0xc6f3aa65
je 0x53bf36
cmp edx, 0x24d46864
jne 0x53bee0
jmp 0x53c1a7
cmp edx, 0x5c93b070
je 0x53bf8c
cmp edx, 0x563f466f
jne 0x53bee0
movzx ebx, byte [esi + 0x1c]
movzx edx, byte [esi + 0x14]
mov dh, bl
xor dh, dl
mov edi, 0x5c93b070
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x53bee0
mov edx, dword [ebp + 8]
mov dword [esi + 8], edx
mov edx, dword [esi + 8]
mov byte [edx], 0
mov edx, dword [esi + 8]
mov dword [edx + 4], 0
mov ebx, dword [0x599a10]
mov edi, dword [0x599a14]
lea edx, [ebx - 1]
imul edx, ebx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov ebx, 0x5c93b070
cmovne ebx, eax
cmp edx, 0xffffffff
mov edx, ebx
cmove edx, eax
cmp edi, 0xa
cmovge edx, ebx
jmp 0x53bee0
mov edx, dword [ebp + 8]
mov byte [edx], 0
mov dword [edx + 4], 0
mov edx, 0xc6f3aa65
jmp 0x53bee0
mov edi, esp
push eax
sub esp, 0xc
mov ebx, ecx
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov ecx, dword [ebx]
call fcn.0051c6e0
mov esp, edi
mov eax, dword [ebx]
mov ecx, dword [0x599a28]
mov edx, dword [0x599a2c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1c]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ebx, 0x30c81e17
nop dword [eax + eax]
cmp ebx, 0x23d79edf
jg 0x53c020
cmp ebx, 0xa8628017
je 0x53c1a7
cmp ebx, 0xcfaa397a
jne 0x53bff0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ebx, 0x23d79ee0
jmp 0x53bff0
cmp ebx, 0x23d79ee0
je 0x53c05c
cmp ebx, 0x30c81e17
jne 0x53bff0
movzx edx, byte [esi + 0x1c]
movzx ebx, byte [esi + 0x14]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0xcfaa397a
mov edi, 0x23d79ee0
cmovne ebx, edi
test dl, dl
mov ecx, 0xcfaa397a
cmove ebx, ecx
test dh, dh
cmovne ebx, edi
jmp 0x53bff0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 1
mov edx, dword [esi + 8]
mov dword [edx + 4], eax
mov ecx, dword [0x599a28]
mov edx, dword [0x599a2c]
lea ebx, [ecx + 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0xcfaa397a
mov edi, 0xa8628017
cmovne ecx, edi
cmp ebx, 0xffffffff
mov ebx, ecx
cmove ebx, edi
cmp edx, 0xa
cmovge ebx, ecx
jmp 0x53bff0
mov eax, dword [0x599a10]
mov ecx, dword [0x599a14]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x1c]
cmp ecx, 0xa
setl byte [esi + 0x14]
mov edi, 0x563f466f
mov ecx, 0x5c93b070
mov edx, 0xc6f3aa65
nop word cs:[eax + eax]
cmp edi, 0x563f466e
jg 0x53c110
cmp edi, 0xc6f3aa65
je 0x53c141
cmp edi, 0x24d46864
jne 0x53c0f0
jmp 0x53c1a7
cmp edi, 0x5c93b070
je 0x53c190
cmp edi, 0x563f466f
jne 0x53c0f0
movzx eax, byte [esi + 0x1c]
mov bh, byte [esi + 0x14]
mov bl, al
xor bl, bh
test bh, bh
mov edi, 0x5c93b070
cmovne edi, edx
test al, al
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x53c0f0
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov byte [eax], 0
mov eax, dword [esi + 8]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete al
mov edi, 0x5c93b070
mov ebx, 0x24d46864
cmove edi, ebx
cmp dword [0x599a14], 0xa
cmovge edi, ecx
setl ah
xor ah, al
cmovne edi, ebx
jmp 0x53c0f0
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov dword [eax + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53c0f0
mov eax, dword [esi + 8]
mov ecx, dword [0x599e18]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x599e1c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53c4a2
or cl, al
test cl, 1
jne 0x53c4da
jmp 0x53c4a2
lea edi, [ecx + 0x20]
mov dword [esi + 0x28], edi
jmp 0x53c1ff
lea ecx, [esi + 0x1c]
call fcn.0046dee0
mov ecx, edi
call fcn.005223e0
mov ecx, edi
lea eax, [esi + 0x14]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
lea ecx, [esi + 8]
push 1
call fcn.0053dd40
mov eax, dword [esi + 8]
mov dword [esi + 0x1c], eax
mov eax, dword [0x597620]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x597624]
sete dl
sete byte [esi + 0x27]
mov eax, 0xf6fc076c
mov ebx, 0x549d064b
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0xc]
setl byte [esi + 7]
mov dword [esi + 0x20], ecx
setl cl
mov edi, 0xf6fc076c
cmovge eax, edi
mov edi, dword [esi + 0x28]
xor cl, dl
cmovne eax, ebx
mov ecx, 0x85388611
nop word [eax + eax]
cmp ecx, 0xf6fc076b
jle 0x53c2a0
cmp ecx, 0xf6fc076c
je 0x53c2b4
cmp ecx, 0x549d064b
jne 0x53c280
jmp 0x53c2f0
cmp ecx, 0x85388611
je 0x53c2bb
cmp ecx, 0xcbffc385
jne 0x53c280
mov ecx, eax
jmp 0x53c280
mov ecx, 0xcbffc385
jmp 0x53c280
mov ch, byte [esi + 0x27]
mov byte [esi + 0x13], ch
mov cl, byte [esi + 7]
xor ch, cl
mov ebx, 0xf6fc076c
mov edx, 0xcbffc385
cmovne ebx, edx
test cl, cl
mov ecx, ebx
cmovne ecx, edx
cmp byte [esi + 0x13], 0
cmove ecx, ebx
jmp 0x53c280
lea ecx, [esi + 0x1c]
call fcn.0046dee0
mov ebx, eax
mov ecx, edi
call fcn.005223e0
mov eax, dword [0x599e18]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x599e1c], 0xa
setl cl
test cl, al
jne 0x53c413
xor cl, al
jne 0x53c413
mov ecx, edi
lea eax, [esi + 0x14]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
lea ecx, [esi + 8]
push 1
call fcn.0053dd40
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ecx
mov eax, dword [0x597620]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x597624]
sete byte [esi + 7]
sete dl
mov eax, 0xf6fc076c
mov ebx, 0x549d064b
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x1c]
setl cl
mov edi, 0xf6fc076c
cmovge eax, edi
mov edi, dword [esi + 0x28]
xor cl, dl
cmovne eax, ebx
mov ecx, 0x85388611
nop dword [eax + eax]
cmp ecx, 0xf6fc076b
jle 0x53c3d0
cmp ecx, 0xf6fc076c
je 0x53c3e4
cmp ecx, 0x549d064b
jne 0x53c3b0
jmp 0x53c1f0
cmp ecx, 0x85388611
je 0x53c3eb
cmp ecx, 0xcbffc385
jne 0x53c3b0
mov ecx, eax
jmp 0x53c3b0
mov ecx, 0xcbffc385
jmp 0x53c3b0
mov ch, byte [esi + 7]
mov byte [esi + 0x13], ch
mov cl, byte [esi + 0x1c]
xor ch, cl
mov ebx, 0xf6fc076c
mov edx, 0xcbffc385
cmovne ebx, edx
test cl, cl
mov ecx, ebx
cmovne ecx, edx
cmp byte [esi + 0x13], 0
cmove ecx, ebx
jmp 0x53c3b0
test bl, bl
je 0x53c44a
mov edi, esp
sub esp, 0x10
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov ebx, dword [esi + 0x2c]
mov ecx, dword [ebx + 0x30]
add ebx, 0x30
call fcn.0051c6e0
mov esp, edi
mov byte [esi + 8], 1
mov ecx, dword [ebp + 8]
push ebx
lea eax, [esi + 8]
push eax
call fcn.00524550
jmp 0x53c465
mov byte [esi + 0x14], 0
mov dword [esi + 8], 0
mov ecx, dword [ebp + 8]
lea eax, [esi + 8]
push eax
lea eax, [esi + 0x14]
push eax
call fcn.00524310
mov eax, dword [0x599e18]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x599e1c], 0xa
setl cl
test cl, al
jne 0x53c1aa
xor cl, al
jne 0x53c1aa
nop word cs:[eax + eax]
jmp 0x53c4a0
lea ecx, [esi + 0x30]
call fcn.00447310
mov eax, dword [0x599e18]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x599e1c], 0xa
setl cl
test cl, al
jne 0x53bdca
xor cl, al
jne 0x53bdca
lea ecx, [esi + 0x30]
call fcn.00447310
jmp 0x53c4a2
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 8]
mov eax, dword [0x599568]
mov edx, dword [0x59956c]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1c]
mov edi, 0x287af10
mov eax, 0xadb423c1
cmove eax, edi
sete bl
cmp edx, 0xa
mov edx, 0xadb423c1
cmovge eax, edx
setl byte [esi + 0x14]
setl dl
mov ecx, dword [ecx + 4]
add ecx, 0xfffffff0
xor dl, bl
cmovne eax, edi
mov edi, 0x41c10ff2
nop
cmp edi, 0x41c10ff1
jg 0x53c560
cmp edi, 0xadb423c1
je 0x53c5a1
cmp edi, 0x287af10
jne 0x53c540
jmp 0x53c5ac
cmp edi, 0x43d6e976
je 0x53c5a8
cmp edi, 0x41c10ff2
jne 0x53c540
movzx edx, byte [esi + 0x1c]
mov bh, byte [esi + 0x14]
mov bl, dl
xor bl, bh
mov dword [esi + 0x28], ecx
mov ecx, 0xadb423c1
mov edi, 0x43d6e976
cmovne ecx, edi
test bh, bh
mov edi, ecx
mov ebx, 0x43d6e976
cmovne edi, ebx
test dl, dl
cmove edi, ecx
mov ecx, dword [esi + 0x28]
jmp 0x53c540
mov edi, 0x43d6e976
jmp 0x53c540
mov edi, eax
jmp 0x53c540
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [0x599a28]
mov edx, dword [0x599a2c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x1c]
cmp edx, 0xa
setl byte [esi + 0x14]
mov ebx, 0x30c81e17
nop dword [eax + eax]
cmp ebx, 0x23d79edf
jg 0x53c610
cmp ebx, 0xa8628017
je 0x53c6a3
cmp ebx, 0xcfaa397a
jne 0x53c5e0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ebx, 0x23d79ee0
jmp 0x53c5e0
cmp ebx, 0x23d79ee0
je 0x53c64c
cmp ebx, 0x30c81e17
jne 0x53c5e0
movzx edx, byte [esi + 0x1c]
movzx ebx, byte [esi + 0x14]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0xcfaa397a
mov edi, 0x23d79ee0
cmovne ebx, edi
test dl, dl
mov ecx, 0xcfaa397a
cmove ebx, ecx
test dh, dh
cmovne ebx, edi
jmp 0x53c5e0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov edx, dword [esi + 8]
mov byte [edx], 1
mov edx, dword [esi + 8]
mov dword [edx + 4], eax
mov ecx, dword [0x599a28]
mov edx, dword [0x599a2c]
lea ebx, [ecx + 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0xcfaa397a
mov edi, 0xa8628017
cmovne ecx, edi
cmp ebx, 0xffffffff
mov ebx, ecx
cmove ebx, edi
cmp edx, 0xa
cmovge ebx, ecx
jmp 0x53c5e0
mov eax, dword [esi + 8]
mov ecx, dword [0x599e18]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x599e1c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53c1aa
or cl, al
test cl, 1
je 0x53c1aa
mov eax, dword [0x599568]
mov ecx, dword [0x59956c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x287af10
mov edi, 0xadb423c1
cmovne edi, eax
cmp edx, 0xffffffff
mov edx, dword [esi + 0x2c]
mov edx, dword [edx + 8]
mov edx, dword [edx - 4]
mov edx, dword [edx + 8]
sete byte [esi + 0x1c]
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 0x14]
cmovge eax, edi
mov ecx, dword [edx + 4]
add ecx, 0xfffffff0
mov dword [esi + 0x28], ecx
mov edi, 0x41c10ff2
jmp 0x53c740
mov edi, eax
nop word [eax + eax]
cmp edi, 0x41c10ff1
jg 0x53c760
cmp edi, 0xadb423c1
je 0x53c79b
cmp edi, 0x287af10
jne 0x53c740
jmp 0x53c7a2
cmp edi, 0x43d6e976
je 0x53c738
cmp edi, 0x41c10ff2
jne 0x53c740
movzx edx, byte [esi + 0x1c]
mov bh, byte [esi + 0x14]
mov bl, dl
xor bl, bh
mov ecx, 0xadb423c1
mov edi, 0x43d6e976
cmovne ecx, edi
test bh, bh
mov edi, ecx
mov ebx, 0x43d6e976
cmovne edi, ebx
test dl, dl
cmove edi, ecx
jmp 0x53c740
mov edi, 0x43d6e976
jmp 0x53c740
mov eax, dword [esi + 0x28]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [0x599a28]
mov edx, dword [0x599a2c]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 0x1c]
cmp edx, 0xa
setl byte [esi + 0x14]
mov edi, 0x30c81e17
nop word cs:[eax + eax]
cmp edi, 0x23d79edf
jg 0x53c810
cmp edi, 0xa8628017
je 0x53c8a2
cmp edi, 0xcfaa397a
jne 0x53c7e0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov edi, 0x23d79ee0
jmp 0x53c7e0
cmp edi, 0x23d79ee0
je 0x53c84b
cmp edi, 0x30c81e17
jne 0x53c7e0
movzx ecx, byte [esi + 0x1c]
mov bh, byte [esi + 0x14]
mov bl, cl
xor bl, bh
mov edx, 0xcfaa397a
mov edi, 0x23d79ee0
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x23d79ee0
cmovne edi, ebx
test cl, cl
cmove edi, edx
jmp 0x53c7e0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov byte [ecx], 1
mov ecx, dword [esi + 8]
mov dword [ecx + 4], eax
mov ecx, dword [0x599a28]
mov ebx, dword [0x599a2c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete cl
cmp ebx, 0xa
setl dl
xor dl, cl
mov ecx, 0xcfaa397a
mov edx, 0xa8628017
cmovne ecx, edx
cmp edi, 0xffffffff
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
cmovge edi, ecx
jmp 0x53c7e0
mov eax, dword [esi + 8]
jmp 0x53c4e4