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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
mov esi, esp
mov dword [esi + 0x48], ebp
mov dword [esi + 0x4c], esp
mov dword [esi + 0x58], 0xffffffff
mov dword [esi + 0x54], 0x55d6c0
mov eax, dword fs:[0]
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword fs:[0], eax
mov dword [esi + 0x10], 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 eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov eax, dword [0x597620]
mov ecx, dword [0x597624]
lea edx, [eax + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete bh
sete byte [esi + 0x17]
mov edx, 0x549d064b
mov eax, 0xf6fc076c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xf6fc076c
cmovge eax, ecx
setl cl
setl byte [esi + 0x20]
xor cl, bh
cmovne eax, edx
mov edx, 0x85388611
mov ecx, 0xcbffc385
nop word cs:[eax + eax]
cmp edx, 0xf6fc076b
jle 0x53c9b0
cmp edx, 0xf6fc076c
je 0x53c9c4
cmp edx, 0x549d064b
jne 0x53c990
jmp 0x53c9ec
cmp edx, 0x85388611
je 0x53c9cb
cmp edx, 0xcbffc385
jne 0x53c990
mov edx, eax
jmp 0x53c990
mov edx, 0xcbffc385
jmp 0x53c990
mov bh, byte [esi + 0x17]
movzx edx, byte [esi + 0x20]
mov dh, bh
xor dh, dl
mov edi, 0xf6fc076c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bh, bh
cmove edx, edi
jmp 0x53c990
lea ecx, [esi + 0x18]
call fcn.0046dee0
test al, al
je 0x53cace
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x30], xmm0
push dword [ebp + 0xc]
lea eax, [esi + 0x30]
push eax
call fcn.0053d810
add esp, 8
mov eax, dword [0x597558]
mov edx, dword [0x59755c]
lea ecx, [eax + 1]
imul ecx, eax
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x13c44fb7
mov ebx, 0x4a6fb92f
cmovne ebx, eax
test edi, ecx
sete byte [esi + 0x18]
cmovne eax, ebx
cmp edx, 0xa
setl byte [esi + 8]
cmovge eax, ebx
mov edi, 0xa02e7620
mov edx, 0xfa6fa706
nop word cs:[eax + eax]
cmp edi, 0x13c44fb6
jg 0x53ca90
cmp edi, 0xa02e7620
je 0x53caa7
cmp edi, 0xfa6fa706
jne 0x53ca70
mov edi, eax
jmp 0x53ca70
cmp edi, 0x13c44fb7
je 0x53cb15
cmp edi, 0x4a6fb92f
jne 0x53ca70
mov edi, 0xfa6fa706
jmp 0x53ca70
movzx ebx, byte [esi + 0x18]
movzx ecx, byte [esi + 8]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0x4a6fb92f
cmovne edi, edx
test bl, bl
mov ecx, 0x4a6fb92f
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x53ca70
mov eax, dword [0x599e20]
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x599e24], 0xa
setge bl
setl cl
xor cl, al
mov eax, dword [0x599a10]
mov dword [esi + 0x2c], eax
mov ecx, dword [0x599a14]
mov dword [esi + 0x10], ecx
jne 0x53d355
or bl, dl
test bl, 1
jne 0x53d483
jmp 0x53d355
mov eax, dword [0x599e20]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x599e24], 0xa
setl al
or al, cl
cmp byte [ebp + 0x10], 0
je 0x53ce98
test al, al
je 0x53cf20
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 8]
cmp dword [ecx + 4], eax
je 0x53cc53
mov eax, dword [eax - 4]
test eax, eax
je 0x53cf22
cmp byte [eax], 2
jne 0x53d10c
mov ecx, dword [eax + 8]
mov dword [esi + 0x58], 0
lea eax, [esi + 0x30]
push eax
call fcn.00524430
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 8]
mov eax, dword [0x599568]
mov edi, dword [0x59956c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x20]
mov edx, 0x287af10
mov eax, 0xadb423c1
cmove eax, edx
sete bl
cmp edi, 0xa
mov edi, 0xadb423c1
cmovge eax, edi
setl byte [esi + 0x18]
setl bh
mov ecx, dword [ecx + 4]
add ecx, 0xfffffff0
mov dword [esi + 0x10], ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x41c10ff2
nop dword [eax]
cmp edi, 0x41c10ff1
jg 0x53cc00
cmp edi, 0xadb423c1
je 0x53cc3b
cmp edi, 0x287af10
jne 0x53cbe0
jmp 0x53d23d
cmp edi, 0x43d6e976
je 0x53cc42
cmp edi, 0x41c10ff2
jne 0x53cbe0
movzx edx, byte [esi + 0x20]
mov bh, byte [esi + 0x18]
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 0x53cbe0
mov edi, 0x43d6e976
jmp 0x53cbe0
mov edi, eax
jmp 0x53cbe0
mov eax, dword [esi + 8]
mov edi, esp
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov ebx, dword [esi + 0x10]
mov ecx, dword [ebx]
call fcn.0051c6e0
mov esp, edi
mov eax, dword [0x599a28]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [ebx]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, dword [0x599a2c]
sete byte [esi + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov ecx, 0x30c81e17
nop dword [eax + eax]
cmp ecx, 0x23d79edf
jg 0x53ccd0
cmp ecx, 0xa8628017
je 0x53cd60
cmp ecx, 0xcfaa397a
jne 0x53cca0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ecx, 0x23d79ee0
jmp 0x53cca0
cmp ecx, 0x23d79ee0
je 0x53cd07
cmp ecx, 0x30c81e17
jne 0x53cca0
movzx edx, byte [esi + 0x20]
movzx ecx, byte [esi + 0x18]
mov ch, dl
xor ch, cl
mov edi, 0xcfaa397a
mov ebx, 0x23d79ee0
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53cca0
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 edi, dword [0x599a28]
mov edx, dword [0x599a2c]
lea ecx, [edi - 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0xcfaa397a
mov ebx, 0xa8628017
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
jmp 0x53cca0
mov eax, dword [esi + 8]
mov eax, dword [0x599e20]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x599e24], 0xa
setl cl
test cl, al
jne 0x53d32b
xor cl, al
jne 0x53d32b
mov edi, esp
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov ebx, dword [esi + 0x10]
mov ecx, dword [ebx]
call fcn.0051c6e0
mov esp, edi
mov eax, dword [0x599a28]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [ebx]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, dword [0x599a2c]
sete byte [esi + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov ecx, 0x30c81e17
nop word [eax + eax]
cmp ecx, 0x23d79edf
jg 0x53ce10
cmp ecx, 0xa8628017
je 0x53cc50
cmp ecx, 0xcfaa397a
jne 0x53cde0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ecx, 0x23d79ee0
jmp 0x53cde0
cmp ecx, 0x23d79ee0
je 0x53ce47
cmp ecx, 0x30c81e17
jne 0x53cde0
movzx edx, byte [esi + 0x20]
movzx ecx, byte [esi + 0x18]
mov ch, dl
xor ch, cl
mov edi, 0xcfaa397a
mov ebx, 0x23d79ee0
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53cde0
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]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xcfaa397a
mov edi, 0xa8628017
cmove ecx, edi
cmp dword [0x599a2c], 0xa
mov ebx, 0xcfaa397a
cmovge ecx, ebx
setl dh
xor dh, dl
cmovne ecx, edi
jmp 0x53cde0
test al, al
je 0x53cf00
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
sar eax, 2
add ecx, 0x38
mov dword [esi + 0x58], 0
lea edx, [esi + 0x30]
push edx
push 5
push eax
call fcn.00522550
mov edx, dword [0x599e20]
mov edi, dword [0x599e24]
lea ebx, [edx + 1]
imul ebx, edx
mov edx, ebx
and edx, 1
sete cl
cmp edi, 0xa
setl ch
setge ah
cmp ch, cl
jne 0x53cf02
or ah, bl
test ah, 1
je 0x53cf02
nop dword [eax]
jmp 0x53cef0
jmp 0x53cf00
test edx, edx
sete dl
cmp edi, 0xa
setl cl
test cl, dl
jne 0x53d017
xor cl, dl
jne 0x53d017
nop dword [eax]
jmp 0x53cf20
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 + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov edi, 0x563f466f
mov ecx, 0x5c93b070
mov edx, 0xc6f3aa65
nop word cs:[eax + eax]
cmp edi, 0x563f466e
jg 0x53cf80
cmp edi, 0xc6f3aa65
je 0x53cfb1
cmp edi, 0x24d46864
jne 0x53cf60
jmp 0x53d328
cmp edi, 0x5c93b070
je 0x53d000
cmp edi, 0x563f466f
jne 0x53cf60
movzx eax, byte [esi + 0x20]
mov bh, byte [esi + 0x18]
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 0x53cf60
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 0x53cf60
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov dword [eax + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53cf60
test al, al
jne 0x53cb49
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 + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov edi, 0x563f466f
mov edx, 0xc6f3aa65
nop dword [eax]
cmp edi, 0x563f466e
jg 0x53d070
cmp edi, 0xc6f3aa65
je 0x53d0a1
cmp edi, 0x24d46864
jne 0x53d050
jmp 0x53d328
cmp edi, 0x5c93b070
je 0x53d0f5
cmp edi, 0x563f466f
jne 0x53d050
movzx ecx, byte [esi + 0x20]
mov bh, byte [esi + 0x18]
mov bl, cl
xor bl, bh
mov eax, 0x5c93b070
cmovne eax, edx
test bh, bh
mov edi, eax
cmovne edi, edx
test cl, cl
cmove edi, eax
jmp 0x53d050
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 ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0x5c93b070
mov ebx, 0x24d46864
cmove edi, ebx
cmp dword [0x599a14], 0xa
mov ecx, 0x5c93b070
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, ebx
jmp 0x53d050
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov dword [eax + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53d050
mov eax, dword [esi + 0x10]
lea ecx, [eax + 0x20]
mov dword [esi + 0x2c], ecx
lea eax, [esi + 0x18]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
lea ecx, [esi + 8]
push 1
call fcn.0053dd40
mov edx, dword [0x597620]
mov ecx, dword [0x597624]
lea eax, [edx - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x549d064b
mov ebx, 0xf6fc076c
cmovne ebx, eax
cmp edx, 0xffffffff
mov edx, dword [esi + 8]
mov dword [esi + 0x20], edx
sete byte [esi + 0x2b]
mov edx, dword [esi + 0xc]
mov dword [esi + 0x24], edx
cmovne eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x17]
cmovge eax, ebx
mov edx, 0x85388611
mov edi, 0xcbffc385
cmp edx, 0xf6fc076b
jle 0x53d1b0
cmp edx, 0xf6fc076c
je 0x53d1c4
cmp edx, 0x549d064b
jne 0x53d190
jmp 0x53d1ed
cmp edx, 0x85388611
je 0x53d1cb
cmp edx, 0xcbffc385
jne 0x53d190
mov edx, eax
jmp 0x53d190
mov edx, 0xcbffc385
jmp 0x53d190
movzx ebx, byte [esi + 0x2b]
movzx edx, byte [esi + 0x17]
mov dh, bl
xor dh, dl
mov ecx, 0xf6fc076c
cmovne ecx, edi
test dl, dl
mov edx, ecx
cmovne edx, edi
test bl, bl
cmove edx, ecx
jmp 0x53d190
lea ecx, [esi + 0x20]
call fcn.0046dee0
mov ebx, eax
mov ecx, dword [esi + 0x2c]
call fcn.005223e0
test bl, bl
je 0x53d338
mov ecx, dword [0x599e20]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x599e24], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53d588
or cl, al
test cl, 1
jne 0x53d6d4
jmp 0x53d588
mov eax, dword [esi + 0x10]
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
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x20]
cmp edx, 0xa
setl byte [esi + 0x18]
mov ebx, 0x30c81e17
nop
cmp ebx, 0x23d79edf
jg 0x53d2a0
cmp ebx, 0xa8628017
je 0x53d328
cmp ebx, 0xcfaa397a
jne 0x53d270
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ebx, 0x23d79ee0
jmp 0x53d270
cmp ebx, 0x23d79ee0
je 0x53d2d6
cmp ebx, 0x30c81e17
jne 0x53d270
movzx edx, byte [esi + 0x20]
mov dh, byte [esi + 0x18]
mov ebx, edx
xor bl, dh
mov ecx, 0xcfaa397a
mov edi, 0x23d79ee0
cmovne ecx, edi
test dh, dh
mov ebx, ecx
cmovne ebx, edi
test dl, dl
cmove ebx, ecx
jmp 0x53d270
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]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
mov ebx, 0xcfaa397a
mov edi, 0xa8628017
cmove ebx, edi
cmp dword [0x599a2c], 0xa
mov edx, 0xcfaa397a
cmovge ebx, edx
setl dl
xor dl, cl
cmovne ebx, edi
jmp 0x53d270
mov eax, dword [esi + 8]
lea ecx, [esi + 0x30]
call fcn.00447310
jmp 0x53d572
mov byte [esi + 0x18], 0
mov dword [esi + 8], 0
mov ecx, dword [ebp + 8]
lea eax, [esi + 8]
push eax
lea eax, [esi + 0x18]
push eax
call fcn.00524310
jmp 0x53d32b
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete byte [esi + 0x18]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 8]
mov ebx, 0x563f466f
nop word cs:[eax + eax]
cmp ebx, 0x563f466e
jg 0x53d3a0
cmp ebx, 0xc6f3aa65
je 0x53d3da
cmp ebx, 0x24d46864
jne 0x53d380
jmp 0x53d44f
cmp ebx, 0x5c93b070
je 0x53d438
cmp ebx, 0x563f466f
jne 0x53d380
movzx edx, byte [esi + 0x18]
mov dh, byte [esi + 8]
mov ebx, edx
xor bl, dh
mov edi, 0x5c93b070
mov eax, 0xc6f3aa65
cmovne edi, eax
test dh, dh
mov ebx, edi
cmovne ebx, eax
test dl, dl
cmove ebx, edi
jmp 0x53d380
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]
mov dword [esi + 0x2c], eax
mov edi, dword [0x599a14]
lea ebx, [eax + 1]
imul ebx, eax
mov edx, ebx
xor edx, 0xfffffffe
test edx, ebx
sete cl
cmp edi, 0xa
setl ch
xor ch, cl
mov ecx, 0x5c93b070
mov eax, 0x24d46864
cmovne ecx, eax
test edx, ebx
mov ebx, ecx
cmove ebx, eax
mov dword [esi + 0x10], edi
cmp edi, 0xa
cmovge ebx, ecx
jmp 0x53d380
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov ebx, 0xc6f3aa65
jmp 0x53d380
mov ecx, dword [esi + 0x30]
mov ecx, dword [0x599e20]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x599e24], 0xa
setl dh
test dh, dl
jne 0x53d572
xor dh, dl
jne 0x53d572
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x18]
cmp dword [esi + 0x10], 0xa
setl byte [esi + 8]
mov edi, 0x563f466f
jmp 0x53d500
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]
mov edx, dword [0x599a14]
lea ecx, [eax + 1]
mov dword [esi + 0x2c], eax
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov edi, 0x5c93b070
mov ebx, 0x24d46864
cmove edi, ebx
sete cl
mov dword [esi + 0x10], edx
cmp edx, 0xa
mov edx, 0x5c93b070
cmovge edi, edx
setl dl
xor dl, cl
cmovne edi, ebx
nop
cmp edi, 0x563f466e
jg 0x53d520
cmp edi, 0xc6f3aa65
je 0x53d4a7
cmp edi, 0x24d46864
jne 0x53d500
jmp 0x53d56a
cmp edi, 0x5c93b070
je 0x53d556
cmp edi, 0x563f466f
jne 0x53d500
movzx edx, byte [esi + 0x18]
mov ch, byte [esi + 8]
mov cl, dl
xor cl, ch
mov ebx, 0x5c93b070
mov eax, 0xc6f3aa65
cmovne ebx, eax
test ch, ch
mov edi, ebx
cmovne edi, eax
test dl, dl
cmove edi, ebx
jmp 0x53d500
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53d500
mov ecx, dword [esi + 0x30]
jmp 0x53d355
mov eax, dword [esi + 0x50]
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 edi, esp
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x30]
call fcn.0051c6e0
mov esp, edi
mov eax, dword [0x599a20]
mov ecx, dword [0x599a24]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov edi, 0x78a6ec7f
mov ebx, 0x5528c43c
mov ecx, 0x63cee830
mov edx, 0x4b0f600b
nop
cmp edi, 0x63cee82f
jg 0x53d600
cmp edi, 0x4b0f600b
je 0x53d636
cmp edi, 0x5528c43c
jne 0x53d5e0
jmp 0x53d69c
cmp edi, 0x63cee830
je 0x53d683
cmp edi, 0x78a6ec7f
jne 0x53d5e0
movzx eax, byte [esi + 0x20]
mov bh, byte [esi + 0x18]
mov bl, al
xor bl, bh
test bh, bh
mov edi, 0x63cee830
cmovne edi, edx
test al, al
cmove edi, ecx
test bl, bl
mov ebx, 0x5528c43c
cmovne edi, edx
jmp 0x53d5e0
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov byte [eax], 1
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x10]
mov edi, dword [edi + 0x30]
mov dword [eax + 4], edi
mov eax, dword [0x599a20]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
mov edi, 0x63cee830
cmove edi, ebx
cmp dword [0x599a24], 0xa
cmovge edi, ecx
setl ah
xor ah, al
cmovne edi, ebx
jmp 0x53d5e0
mov edi, dword [ebp + 8]
mov byte [edi], 1
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x30]
mov dword [edi + 4], eax
mov edi, 0x4b0f600b
jmp 0x53d5e0
mov eax, dword [esi + 8]
mov eax, dword [0x599e20]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x599e24], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x53d32b
or cl, al
je 0x53d32b
mov edi, esp
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x30]
call fcn.0051c6e0
mov esp, edi
mov eax, dword [0x599a20]
mov ecx, dword [0x599a24]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov edi, 0x78a6ec7f
mov edx, 0x4b0f600b
jmp 0x53d780
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov byte [eax], 1
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0x30]
mov dword [eax + 4], ecx
mov eax, dword [0x599a20]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov edi, 0x63cee830
mov ebx, 0x5528c43c
cmove edi, ebx
cmp dword [0x599a24], 0xa
mov ecx, 0x63cee830
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, ebx
nop word cs:[eax + eax]
cmp edi, 0x63cee82f
jg 0x53d7a0
cmp edi, 0x4b0f600b
je 0x53d721
cmp edi, 0x5528c43c
jne 0x53d780
jmp 0x53d7e7
cmp edi, 0x63cee830
je 0x53d7d1
cmp edi, 0x78a6ec7f
jne 0x53d780
movzx ecx, byte [esi + 0x20]
mov bh, byte [esi + 0x18]
mov bl, cl
xor bl, bh
mov eax, 0x63cee830
cmovne eax, edx
test bh, bh
mov edi, eax
cmovne edi, edx
test cl, cl
cmove edi, eax
jmp 0x53d780
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x30]
mov dword [ecx + 4], eax
mov edi, 0x4b0f600b
jmp 0x53d780
mov eax, dword [esi + 8]
jmp 0x53d588