Function at 0x53a740
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], 0x55d690
mov eax, dword fs:[0]
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword fs:[0], eax
movzx ebx, byte [ebp + 0x10]
mov dword [esi + 8], ecx
add ecx, 0x10
lea eax, [esi + 0xc]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
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 + 0x14], eax
mov dword [esi + 0x18], 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 + 0x1f]
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 [eax + eax]
cmp edx, 0xf6fc076b
jle 0x53a820
cmp edx, 0xf6fc076c
je 0x53a834
cmp edx, 0x549d064b
jne 0x53a800
jmp 0x53a85c
cmp edx, 0x85388611
je 0x53a83b
cmp edx, 0xcbffc385
jne 0x53a800
mov edx, eax
jmp 0x53a800
mov edx, 0xcbffc385
jmp 0x53a800
mov bh, byte [esi + 0x1f]
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 0x53a800
lea ecx, [esi + 0x14]
call fcn.0046dee0
test al, al
je 0x53a94f
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x30], xmm0
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
push dword [eax]
lea eax, [esi + 0x30]
push eax
call fcn.0053b8d0
add esp, 0xc
mov eax, dword [0x597558]
mov edx, dword [0x59755c]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x13c44fb7
mov edi, 0x4a6fb92f
cmovne edi, eax
cmp ecx, 0xffffffff
sete byte [esi + 0x14]
cmovne eax, edi
cmp edx, 0xa
setl byte [esi + 0xc]
cmovge eax, edi
mov edi, 0xa02e7620
nop word cs:[eax + eax]
cmp edi, 0x13c44fb6
jg 0x53a900
cmp edi, 0xa02e7620
je 0x53a91b
cmp edi, 0xfa6fa706
jne 0x53a8e0
mov edi, eax
jmp 0x53a8e0
cmp edi, 0x13c44fb7
je 0x53aa48
cmp edi, 0x4a6fb92f
jne 0x53a8e0
mov edi, 0xfa6fa706
jmp 0x53a8e0
mov bh, byte [esi + 0x14]
movzx ecx, byte [esi + 0xc]
mov ch, bl
mov bl, cl
xor bl, bh
test cl, cl
mov edi, 0x4a6fb92f
mov edx, 0xfa6fa706
cmovne edi, edx
test bh, bh
mov edx, 0x4a6fb92f
cmove edi, edx
test bl, bl
mov bl, ch
mov ecx, 0xfa6fa706
cmovne edi, ecx
jmp 0x53a8e0
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 + 0xc]
mov edi, 0x563f466f
mov ecx, 0x5c93b070
mov edx, 0xc6f3aa65
nop word cs:[eax + eax]
cmp edi, 0x563f466e
jg 0x53a9b0
cmp edi, 0xc6f3aa65
je 0x53a9e1
cmp edi, 0x24d46864
jne 0x53a990
jmp 0x53ab82
cmp edi, 0x5c93b070
je 0x53aa31
cmp edi, 0x563f466f
jne 0x53a990
movzx eax, byte [esi + 0x14]
mov bh, byte [esi + 0xc]
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 0x53a990
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
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
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 0x53a990
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov dword [eax + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53a990
test bl, bl
mov edx, dword [esi + 8]
je 0x53ab8a
mov eax, dword [edx + 8]
cmp dword [edx + 4], eax
je 0x53ac2e
mov ecx, dword [0x599e08]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x599e0c], 0xa
mov eax, dword [eax - 4]
setl dl
or dl, cl
test eax, eax
je 0x53ad3e
test dl, dl
je 0x53ab80
cmp byte [eax], 2
jne 0x53ad5c
mov ecx, dword [eax + 8]
mov dword [esi + 0x58], 0
lea eax, [esi + 0x30]
push eax
call fcn.00524430
mov eax, dword [esi + 8]
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 + 0x14]
setl bh
mov ecx, dword [ecx + 4]
add ecx, 0xfffffff0
mov dword [esi + 8], ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x41c10ff2
nop
cmp edi, 0x41c10ff1
jg 0x53ab30
cmp edi, 0xadb423c1
je 0x53ab6b
cmp edi, 0x287af10
jne 0x53ab10
jmp 0x53ae85
cmp edi, 0x43d6e976
je 0x53ab72
cmp edi, 0x41c10ff2
jne 0x53ab10
movzx edx, byte [esi + 0x20]
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 0x53ab10
mov edi, 0x43d6e976
jmp 0x53ab10
mov edi, eax
jmp 0x53ab10
jmp 0x53ab80
mov eax, dword [esi + 0x30]
jmp 0x53af89
mov eax, dword [0x599e08]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x599e0c], 0xa
setl cl
test cl, al
jne 0x53abc2
xor cl, al
jne 0x53abc2
nop word cs:[eax + eax]
jmp 0x53abc0
mov eax, dword [edx + 8]
sub eax, dword [edx + 4]
sar eax, 2
lea ecx, [edx + 0x38]
mov dword [esi + 0x58], 0
lea edx, [esi + 0x30]
push edx
push 5
push eax
call fcn.00522550
test al, al
mov edx, dword [esi + 8]
jne 0x53aa53
mov eax, dword [0x599e08]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
cmp dword [0x599e0c], 0xa
setl dh
mov eax, dword [0x599a10]
mov ecx, dword [0x599a14]
mov dword [esi + 8], ecx
test dh, dl
jne 0x53afbd
xor dh, dl
je 0x53b0dd
jmp 0x53afbd
mov ebx, edx
mov edi, esp
push eax
sub esp, 0xc
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 dword [esi + 8], eax
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 + 0x14]
mov edi, 0x30c81e17
nop dword [eax + eax]
cmp edi, 0x23d79edf
jg 0x53acb0
cmp edi, 0xa8628017
je 0x53af7e
cmp edi, 0xcfaa397a
jne 0x53ac80
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov eax, dword [esi + 8]
mov dword [ecx + 4], eax
mov edi, 0x23d79ee0
jmp 0x53ac80
cmp edi, 0x23d79ee0
je 0x53ace6
cmp edi, 0x30c81e17
jne 0x53ac80
movzx ecx, byte [esi + 0x20]
mov bh, byte [esi + 0x14]
mov bl, cl
xor bl, bh
mov edx, 0xcfaa397a
mov eax, 0x23d79ee0
cmovne edx, eax
test bh, bh
mov edi, edx
cmovne edi, eax
test cl, cl
cmove edi, edx
jmp 0x53ac80
mov ecx, dword [ebp + 8]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov byte [ecx], 1
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ecx + 4], eax
mov ecx, dword [0x599a28]
mov ebx, dword [0x599a2c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete dl
cmp ebx, 0xa
setl dh
xor dh, dl
mov edx, 0xcfaa397a
mov eax, 0xa8628017
cmovne edx, eax
test ecx, edi
mov edi, edx
cmove edi, eax
cmp ebx, 0xa
cmovge edi, edx
jmp 0x53ac80
mov eax, dword [0x599a10]
mov dword [esi + 0x28], eax
mov ecx, dword [0x599a14]
mov dword [esi + 8], ecx
test dl, dl
jne 0x53b1d2
jmp 0x53b300
mov eax, dword [esi + 8]
lea ecx, [eax + 0x20]
mov dword [esi + 0x28], ecx
lea eax, [esi + 0x14]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], eax
lea ecx, [esi + 0xc]
push 1
call fcn.0053dd40
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], 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 bl
sete byte [esi + 0x2f]
mov edx, 0x549d064b
mov eax, 0xf6fc076c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xf6fc076c
cmovge eax, ecx
setl cl
setl byte [esi + 0x1f]
xor cl, bl
cmovne eax, edx
mov edx, 0x85388611
mov edi, 0xcbffc385
nop
cmp edx, 0xf6fc076b
jle 0x53ae00
cmp edx, 0xf6fc076c
je 0x53ae14
cmp edx, 0x549d064b
jne 0x53ade0
jmp 0x53ae3d
cmp edx, 0x85388611
je 0x53ae1b
cmp edx, 0xcbffc385
jne 0x53ade0
mov edx, eax
jmp 0x53ade0
mov edx, 0xcbffc385
jmp 0x53ade0
movzx ebx, byte [esi + 0x2f]
movzx edx, byte [esi + 0x1f]
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 0x53ade0
lea ecx, [esi + 0x20]
call fcn.0046dee0
mov ebx, eax
mov ecx, dword [esi + 0x28]
call fcn.005223e0
mov eax, dword [0x599e08]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x599e0c], 0xa
setl dl
or dl, al
test bl, bl
je 0x53af9f
test dl, dl
jne 0x53b642
jmp 0x53b79c
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
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 + 0x14]
mov edi, 0x30c81e17
nop word [eax + eax]
cmp edi, 0x23d79edf
jg 0x53aef0
cmp edi, 0xa8628017
je 0x53af7e
cmp edi, 0xcfaa397a
jne 0x53aec0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov eax, dword [esi + 8]
mov dword [ecx + 4], eax
mov edi, 0x23d79ee0
jmp 0x53aec0
cmp edi, 0x23d79ee0
je 0x53af26
cmp edi, 0x30c81e17
jne 0x53aec0
movzx ecx, byte [esi + 0x20]
mov bh, byte [esi + 0x14]
mov bl, cl
xor bl, bh
mov edx, 0xcfaa397a
mov eax, 0x23d79ee0
cmovne edx, eax
test bh, bh
mov edi, edx
cmovne edi, eax
test cl, cl
cmove edi, edx
jmp 0x53aec0
mov ecx, dword [ebp + 8]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov byte [ecx], 1
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ecx + 4], eax
mov ecx, dword [0x599a28]
mov ebx, dword [0x599a2c]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete dl
cmp ebx, 0xa
setl dh
xor dh, dl
mov edx, 0xcfaa397a
mov eax, 0xa8628017
cmovne edx, eax
test ecx, edi
mov edi, edx
cmove edi, eax
cmp ebx, 0xa
cmovge edi, edx
jmp 0x53aec0
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x30]
call fcn.00447310
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 eax, dword [0x599a10]
mov dword [esi + 0x28], eax
mov ecx, dword [0x599a14]
mov dword [esi + 8], ecx
test dl, dl
jne 0x53b3f7
jmp 0x53b522
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete byte [esi + 0x20]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x14]
mov edx, 0x563f466f
mov ecx, 0xc6f3aa65
cmp edx, 0x563f466e
jg 0x53b000
cmp edx, 0xc6f3aa65
je 0x53b050
cmp edx, 0x24d46864
jne 0x53afe0
jmp 0x53b0a9
cmp edx, 0x5c93b070
je 0x53b037
cmp edx, 0x563f466f
jne 0x53afe0
movzx ebx, byte [esi + 0x20]
movzx edx, byte [esi + 0x14]
mov bh, dl
xor bh, bl
test dl, dl
mov edx, 0x5c93b070
cmovne edx, ecx
test bl, bl
mov edi, 0x5c93b070
cmove edx, edi
test bh, bh
cmovne edx, ecx
jmp 0x53afe0
mov edx, dword [ebp + 8]
mov byte [edx], 0
mov dword [edx + 4], 0
mov edx, 0xc6f3aa65
jmp 0x53afe0
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
mov edi, dword [0x599a14]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
mov edx, 0x5c93b070
mov ecx, 0x24d46864
cmove edx, ecx
sete bl
mov dword [esi + 8], edi
cmp edi, 0xa
mov edi, 0x5c93b070
cmovge edx, edi
setl bh
xor bh, bl
cmovne edx, ecx
jmp 0x53afdb
mov edx, dword [esi + 0xc]
mov edx, dword [0x599e08]
lea edi, [edx - 1]
imul edi, edx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete dl
cmp dword [0x599e0c], 0xa
setl dh
test dh, dl
jne 0x53af81
xor dh, dl
jne 0x53af81
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x20]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x14]
mov ebx, 0x563f466f
jmp 0x53b160
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
mov ecx, dword [0x599a14]
lea ebx, [eax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x5c93b070
mov edi, 0x24d46864
cmovne edx, edi
cmp ebx, 0xffffffff
mov ebx, edx
cmove ebx, edi
mov dword [esi + 8], ecx
cmp ecx, 0xa
cmovge ebx, edx
nop word cs:[eax + eax]
cmp ebx, 0x563f466e
jg 0x53b180
cmp ebx, 0xc6f3aa65
je 0x53b0fe
cmp ebx, 0x24d46864
jne 0x53b160
jmp 0x53b1ca
cmp ebx, 0x5c93b070
je 0x53b1b6
cmp ebx, 0x563f466f
jne 0x53b160
movzx edx, byte [esi + 0x20]
mov dh, byte [esi + 0x14]
mov ebx, edx
xor bl, dh
mov edi, 0x5c93b070
mov ecx, 0xc6f3aa65
cmovne edi, ecx
test dh, dh
mov ebx, edi
cmovne ebx, ecx
test dl, dl
cmove ebx, edi
jmp 0x53b160
mov edx, dword [ebp + 8]
mov byte [edx], 0
mov dword [edx + 4], 0
mov ebx, 0xc6f3aa65
jmp 0x53b160
mov edx, dword [esi + 0xc]
jmp 0x53afbd
mov eax, dword [esi + 0x28]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete byte [esi + 0x20]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x14]
mov edi, 0x563f466f
mov eax, 0xc6f3aa65
nop dword [eax + eax]
cmp edi, 0x563f466e
jg 0x53b220
cmp edi, 0xc6f3aa65
je 0x53b270
cmp edi, 0x24d46864
jne 0x53b200
jmp 0x53b2cc
cmp edi, 0x5c93b070
je 0x53b251
cmp edi, 0x563f466f
jne 0x53b200
movzx ebx, byte [esi + 0x20]
mov dh, byte [esi + 0x14]
mov dl, bl
xor dl, dh
mov ecx, 0x5c93b070
cmovne ecx, eax
test dh, dh
mov edi, ecx
cmovne edi, eax
test bl, bl
cmove edi, ecx
jmp 0x53b200
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53b200
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
mov ebx, dword [0x599a14]
lea ecx, [eax + 1]
mov dword [esi + 0x28], eax
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
mov edi, 0x5c93b070
mov eax, 0x24d46864
cmove edi, eax
sete cl
mov dword [esi + 8], ebx
cmp ebx, 0xa
mov edx, 0x5c93b070
cmovge edi, edx
setl dl
xor dl, cl
cmovne edi, eax
jmp 0x53b1f3
mov ecx, dword [esi + 0xc]
mov ecx, dword [0x599e08]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x599e0c], 0xa
setl dh
test dh, dl
jne 0x53af81
xor dh, dl
jne 0x53af81
mov eax, dword [esi + 0x28]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete byte [esi + 0x20]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x14]
mov edi, 0x563f466f
jmp 0x53b380
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
mov dword [esi + 0x28], eax
mov ebx, dword [0x599a14]
lea edi, [eax + 1]
imul edi, eax
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete dl
cmp ebx, 0xa
setl dh
xor dh, dl
mov edx, 0x5c93b070
mov eax, 0x24d46864
cmovne edx, eax
test ecx, edi
mov edi, edx
cmove edi, eax
mov dword [esi + 8], ebx
cmp ebx, 0xa
cmovge edi, edx
nop dword [eax]
cmp edi, 0x563f466e
jg 0x53b3a0
cmp edi, 0xc6f3aa65
je 0x53b323
cmp edi, 0x24d46864
jne 0x53b380
jmp 0x53b3ef
cmp edi, 0x5c93b070
je 0x53b3db
cmp edi, 0x563f466f
jne 0x53b380
movzx edx, byte [esi + 0x20]
mov ch, byte [esi + 0x14]
mov cl, dl
xor cl, ch
test ch, ch
mov edi, 0x5c93b070
mov ebx, 0xc6f3aa65
cmovne edi, ebx
test dl, dl
mov edx, 0x5c93b070
cmove edi, edx
test cl, cl
cmovne edi, ebx
jmp 0x53b380
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53b380
mov ecx, dword [esi + 0xc]
jmp 0x53b1d2
mov eax, dword [esi + 0x28]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete byte [esi + 0x20]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x14]
mov edi, 0x563f466f
nop dword [eax + eax]
cmp edi, 0x563f466e
jg 0x53b440
cmp edi, 0xc6f3aa65
je 0x53b47a
cmp edi, 0x24d46864
jne 0x53b420
jmp 0x53b4ed
cmp edi, 0x5c93b070
je 0x53b4d6
cmp edi, 0x563f466f
jne 0x53b420
movzx ebx, byte [esi + 0x20]
mov dh, byte [esi + 0x14]
mov dl, bl
xor dl, dh
mov ecx, 0x5c93b070
mov eax, 0xc6f3aa65
cmovne ecx, eax
test dh, dh
mov edi, ecx
cmovne edi, eax
test bl, bl
cmove edi, ecx
jmp 0x53b420
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
mov ebx, dword [0x599a14]
lea ecx, [eax + 1]
mov dword [esi + 0x28], eax
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
mov edi, 0x5c93b070
mov eax, 0x24d46864
cmove edi, eax
sete cl
mov dword [esi + 8], ebx
cmp ebx, 0xa
mov edx, 0x5c93b070
cmovge edi, edx
setl dl
xor dl, cl
cmovne edi, eax
jmp 0x53b420
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53b420
mov ecx, dword [esi + 0xc]
mov ecx, dword [0x599e08]
mov edx, dword [0x599e0c]
lea ebx, [ecx + 1]
imul ebx, ecx
mov edi, ebx
xor edi, 0xfffffffe
and edi, ebx
sete bl
cmp edx, 0xa
setl bh
test bh, bl
jne 0x53b612
xor bh, bl
jne 0x53b612
mov eax, dword [esi + 0x28]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete byte [esi + 0x20]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x14]
mov edi, 0x563f466f
jmp 0x53b5a0
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
mov eax, dword [0x599a10]
mov edx, dword [0x599a14]
lea ecx, [eax + 1]
mov dword [esi + 0x28], 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 + 8], edx
cmp edx, 0xa
mov edx, 0x5c93b070
cmovge edi, edx
setl dl
xor dl, cl
cmovne edi, ebx
nop dword [eax]
cmp edi, 0x563f466e
jg 0x53b5c0
cmp edi, 0xc6f3aa65
je 0x53b545
cmp edi, 0x24d46864
jne 0x53b5a0
jmp 0x53b60a
cmp edi, 0x5c93b070
je 0x53b5f6
cmp edi, 0x563f466f
jne 0x53b5a0
movzx edx, byte [esi + 0x20]
mov ch, byte [esi + 0x14]
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 0x53b5a0
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov dword [ecx + 4], 0
mov edi, 0xc6f3aa65
jmp 0x53b5a0
mov ecx, dword [esi + 0xc]
jmp 0x53b3f7
test edi, edi
setne al
sete ah
cmp edx, 0xa
setge cl
setl dl
xor dl, ah
jne 0x53af81
or cl, al
je 0x53af81
nop word cs:[eax + eax]
jmp 0x53b640
mov edi, esp
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov eax, dword [esi + 8]
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 + 0x14]
mov edi, 0x78a6ec7f
mov eax, 0x5528c43c
mov edx, 0x4b0f600b
nop word cs:[eax + eax]
cmp edi, 0x63cee82f
jg 0x53b6c0
cmp edi, 0x4b0f600b
je 0x53b6fb
cmp edi, 0x5528c43c
jne 0x53b6a0
jmp 0x53b76c
cmp edi, 0x63cee830
je 0x53b753
cmp edi, 0x78a6ec7f
jne 0x53b6a0
movzx ebx, byte [esi + 0x20]
movzx ecx, byte [esi + 0x14]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0x63cee830
cmovne edi, edx
test bl, bl
mov ecx, 0x63cee830
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x53b6a0
mov ecx, dword [ebp + 8]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov byte [ecx], 1
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov edi, dword [edi + 0x30]
mov dword [ecx + 4], edi
mov ecx, dword [0x599a20]
mov ebx, dword [0x599a24]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov ecx, 0x63cee830
cmovne ecx, eax
cmp edi, 0xffffffff
mov edi, ecx
cmove edi, eax
cmp ebx, 0xa
cmovge edi, ecx
jmp 0x53b6a0
mov edi, dword [ebp + 8]
mov byte [edi], 1
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x30]
mov dword [edi + 4], ecx
mov edi, 0x4b0f600b
jmp 0x53b6a0
mov eax, dword [esi + 0xc]
mov eax, dword [0x599e08]
mov edx, dword [0x599e0c]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete al
cmp edx, 0xa
setl cl
test cl, al
jne 0x53b612
xor cl, al
jne 0x53b612
mov edi, esp
push eax
sub esp, 0xc
mov ecx, esp
lea eax, [esi + 0x30]
push eax
call fcn.00500380
mov eax, dword [esi + 8]
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 + 0x14]
mov edi, 0x78a6ec7f
mov ecx, 0x63cee830
mov edx, 0x4b0f600b
jmp 0x53b840
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 1
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov edi, dword [edi + 0x30]
mov dword [eax + 4], edi
mov eax, dword [0x599a20]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete al
mov edi, 0x63cee830
mov ebx, 0x5528c43c
cmove edi, ebx
cmp dword [0x599a24], 0xa
cmovge edi, ecx
setl ah
xor ah, al
cmovne edi, ebx
nop dword [eax + eax]
cmp edi, 0x63cee82f
jg 0x53b860
cmp edi, 0x4b0f600b
je 0x53b7ef
cmp edi, 0x5528c43c
jne 0x53b840
jmp 0x53b8a7
cmp edi, 0x63cee830
je 0x53b891
cmp edi, 0x78a6ec7f
jne 0x53b840
movzx eax, byte [esi + 0x20]
mov bh, byte [esi + 0x14]
mov bl, al
xor bl, bh
test bh, bh
mov edi, 0x63cee830
cmovne edi, edx
test al, al
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x53b840
mov edi, dword [ebp + 8]
mov byte [edi], 1
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x30]
mov dword [edi + 4], eax
mov edi, 0x4b0f600b
jmp 0x53b840
mov eax, dword [esi + 0xc]
jmp 0x53b642