Function at 0x5b0100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [0x80dcc0]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
sete al
movzx esi, al
jne 0x5b01bd
mov al, 0x2e
movzx eax, al
cmp eax, 0x18
je 0x5b0254
cmp eax, 0x2e
jne 0x5b031a
mov eax, 8
mov dword [esp + 0x34], ecx
mov byte [esp + 0x8f], cl
mov byte [esp + 0x23], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x63], cl
mov byte [esp + 0x5b], cl
mov dword [esp + 0x54], esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], esi
jmp 0x5b1110
mov eax, 1
mov dword [esp + 0x80], ecx
mov byte [esp + 0x3b], cl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x63], cl
mov byte [esp + 0x3a], cl
mov byte [esp + 0x5b], cl
mov byte [esp + 0x8f], cl
mov byte [esp + 0x23], cl
mov byte [esp + 0x33], cl
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
jmp 0x5b0fe9
mov ecx, esi
mov byte [esp + 0x5b], 0x17
mov byte [esp + 0x3a], 0x36
mov byte [esp + 0x63], 0x53
mov byte [esp + 0x4b], 2
mov byte [esp + 0x3b], 0x12
mov edx, dword [0x80dcdc]
mov dword [esp + 0x6c], 0
test edx, edx
je 0x5b03f1
mov esi, 0x12
mov eax, edx
mov dword [esp + 0x68], edx
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x8f], al
mov edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x54], edx
mov byte [esp + 0x33], al
mov byte [esp + 0x23], al
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], edx
mov edi, 0
mov eax, 0
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
jne 0x5b0f27
jmp 0x5b0d5c
mov byte [esp + 0x5b], 0x17
mov byte [esp + 0x3a], 0x36
mov byte [esp + 0x63], 0x53
mov byte [esp + 0x4b], 2
mov byte [esp + 0x3b], 0x12
mov edx, dword [0x80dcdc]
mov dword [esp + 0x6c], 0
test edx, edx
jne 0x5b045d
mov eax, 3
mov ecx, edx
or ecx, 2
mov dword [esp + 0x68], edx
xor edx, 2
add edx, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov byte [esp + 0x8f], cl
mov byte [esp + 0x23], cl
mov byte [esp + 0x33], cl
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x64], esi
mov edi, 0
mov ebp, 0
mov dword [esp + 0x44], esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
jne 0x5b0883
jmp 0x5b0f4f
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x8f], al
mov edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x28], eax
mov byte [esp + 0x33], al
mov byte [esp + 0x23], al
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], edx
mov edi, 0
xor eax, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
jmp 0x5b0d5c
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x8f], al
mov byte [esp + 0x23], al
mov dword [esp + 0x4c], eax
mov byte [esp + 0x33], al
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0xc], esi
jmp 0x5b0f4f
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x80], 5
mov byte [esp + 0x5b], 0x17
mov byte [esp + 0x3a], 0x36
mov byte [esp + 0x63], 0x53
mov byte [esp + 0x4b], 2
mov byte [esp + 0x3b], 0x12
mov eax, dword [0x80dcdc]
mov dword [esp + 0x6c], 0
test eax, eax
je 0x5b0541
mov esi, eax
mov dword [esp + 0x68], eax
imul esi, esi
and esi, 3
cmp esi, 3
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov edi, 0
mov ebp, 0
mov dword [esp + 0x44], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
jne 0x5b0f4f
jmp 0x5b0d46
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x44], eax
jmp 0x5b0d46
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0xa0], 0
mov ebx, dword [esp + 0x40]
je 0x5b057c
mov ebx, 1
mov byte [esp + 0x4b], 0x1b
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0xa4]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
mov esi, 1
mov ecx, 1
cmovne ecx, dword [esp + 0x3c]
test eax, eax
cmovne ecx, esi
mov dword [esp + 0x88], 0
jmp 0x5b0e04
mov byte [esp + 0x63], 0x53
mov eax, edx
mov edx, dword [eax + 4]
mov esi, eax
test edx, edx
je 0x5b05f6
mov eax, edx
mov dword [esp + 0x68], edx
imul eax, eax
and eax, 3
cmp eax, 2
je 0x5b05fa
mov eax, dword [esp + 0x88]
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], ebx
mov edi, ecx
mov ebp, dword [esp + 0x70]
mov edx, esi
jmp 0x5b0f4f
mov dword [esp + 0x68], edx
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ebx, eax
mov edx, dword [esp + 0x88]
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], ebx
mov edi, ecx
mov eax, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], ecx
mov edx, esi
je 0x5b0d5c
jmp 0x5b0ed7
mov byte [esp + 0x5b], 0x17
test edx, edx
mov dword [esp + 0x54], edi
mov edx, ebp
jne 0x5b0697
mov eax, 0xe
mov byte [0x80dcc6], 0
mov esi, edx
cmp eax, 3
jne 0x5b0695
mov edx, eax
and edx, 1
xor edx, eax
not edx
test edx, edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov edx, esi
mov dword [esp + 0x84], edx
jne 0x5b0b10
jmp 0x5b0697
mov edx, esi
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x5b06ce
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x5b06ce
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edx
jmp 0x5b0c2e
mov ebp, ebx
mov ebx, edx
mov byte [esp + 0x33], 0x3e
mov al, byte [0x80dca4]
mov ah, al
not ah
mov dl, byte [0x80dca6]
and dl, 1
xor esi, esi
test ah, 1
cmovne esi, edi
test dl, dl
cmovne esi, edi
mov dword [esp + 0x28], esi
imul esi, esi
and esi, 3
cmp esi, 3
sete ah
movzx edx, dl
cmp edx, 1
jne 0x5b0795
test al, 1
je 0x5b0795
movzx eax, ah
cmp dword [esp + 0x28], eax
je 0x5b0795
mov dword [esp + 8], ebx
mov dl, 0x35
mov eax, 3
movzx esi, dl
cmp esi, 0x41
je 0x5b07b7
cmp esi, 0x72
jne 0x5b07dd
mov eax, 3
mov byte [esp + 0x23], 0x36
mov byte [esp + 0x8f], 0x1d
mov edx, dword [0x80dc9c]
mov dword [esp + 0x34], edx
test edx, edx
je 0x5b081e
xor edx, edx
test dl, dl
mov dword [esp + 0x80], ecx
mov ebx, ebp
mov dword [esp + 0x7c], ebx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x84], edx
je 0x5b084d
jmp 0x5b065c
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebp
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], ebx
jmp 0x5b0b10
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebp
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
jmp 0x5b0e9f
mov eax, 1
mov byte [esp + 0x23], 0x36
mov byte [esp + 0x8f], 0x1d
mov edi, dword [0x80dc9c]
test edi, edi
jne 0x5b0829
mov esi, 3
mov edx, edi
mov dword [esp + 0x34], edi
imul edx, edx
and edx, 3
cmp edx, 2
mov edx, dword [esp + 8]
mov ebx, ebp
jb 0x5b0a4a
jmp 0x5b117c
mov edx, dword [esp + 8]
mov ebx, ebp
jmp 0x5b065c
mov dword [esp + 0x34], edi
mov edx, dword [esp + 8]
mov ebx, ebp
jmp 0x5b117c
mov eax, ecx
and eax, 1
xor eax, ecx
mov dword [esp + 0x34], ecx
not eax
test eax, eax
jne 0x5b0b10
mov eax, 0x13
mov ecx, pe_nt_image_headers32
mov ebp, dword [esp + 0x34]
add ecx, dword [ebp + 0xc]
mov dword [esp + 0x24], ecx
mov esi, dword [0x80dcd4]
test esi, esi
jne 0x5b0883
mov edi, 0x14
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
mov dword [esp + 0x2c], ebp
jne 0x5b08d3
cmp eax, 3
mov edx, dword [esp + 0x34]
jne 0x5b08c9
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jne 0x5b0d5c
jmp 0x5b0ac8
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x24]
jmp 0x5b0920
cmp edi, 4
jne 0x5b0c2e
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
jne 0x5b0f4f
jmp 0x5b0c2e
mov ebx, esi
mov edi, dword [ebx + 0xc]
mov eax, edi
sub eax, 0xffffff80
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.007c58b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x5b099c
movzx eax, byte [esp + 0x8f]
cmp eax, 0x10
je 0x5b0980
mov esi, 6
cmp eax, 0x69
jne 0x5b09f5
mov byte [esp + 0x8f], 0x69
mov esi, dword [ebx + 4]
test esi, esi
je 0x5b098f
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x5b0920
jmp 0x5b098f
mov byte [esp + 0x8f], 0x10
mov esi, dword [ebx + 4]
test esi, esi
jne 0x5b0920
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
jmp 0x5b0c2e
mov dword [esp + 0x18], ebx
mov esi, 0x19
movzx eax, byte [esp + 0x23]
cmp eax, 0x10
jne 0x5b0a1c
mov esi, 2
mov byte [esp + 0x23], 0x36
test edi, edi
jne 0x5b0a25
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x84]
jb 0x5b0c2e
jmp 0x5b0a4a
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x84]
jmp 0x5b0a75
mov dword [esp + 0x1c], edi
jmp 0x5b0f9a
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x84]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edi
cmp esi, 2
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edx
jne 0x5b0b10
jmp 0x5b0fd3
cmp esi, 6
je 0x5b0a84
xor eax, eax
test al, al
je 0x5b0697
mov edi, edx
mov byte [esp + 0x8f], 0x1d
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
test esi, esi
jne 0x5b0ad1
mov eax, esi
or eax, 2
mov edx, esi
xor edx, 2
add edx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edi
jne 0x5b0c2e
mov ebp, dword [esp + 0x24]
jmp 0x5b0920
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edi
mov ebp, dword [esp + 0x24]
jmp 0x5b0920
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
test eax, eax
jne 0x5b0b35
sub ecx, eax
xor ecx, eax
mov dword [esp + 0x34], eax
je 0x5b084d
mov eax, 0xa
movzx ecx, byte [esp + 0x33]
cmp ecx, 0x13
jne 0x5b0e63
mov byte [esp + 0x33], 0x3e
cmp dword [esp + 0x28], 0
je 0x5b0c2e
jmp 0x5b0b3e
mov dword [esp + 0x34], eax
jmp 0x5b084d
mov eax, 6
mov byte [0x80dcc4], 1
mov edx, dword [esp + 0x84]
cmp eax, 6
jne 0x5b0b62
mov dword [esp + 0x84], edx
jmp 0x5b0c2e
movzx eax, byte [esp + 0x4b]
cmp eax, 2
je 0x5b0b7f
mov esi, edx
mov edi, 0xa
cmp eax, 0x37
jne 0x5b0bcd
mov edx, esi
jmp 0x5b0c6a
mov byte [esp + 0x4b], 2
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0xa0], 0
mov ebx, 1
cmove ebx, dword [esp + 0x40]
mov eax, dword [eax + 0xa4]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
mov ecx, 1
cmovne ecx, dword [esp + 0x3c]
test eax, eax
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x88], 0
jmp 0x5b0e04
mov byte [esp + 0x4b], 0x37
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 0xa0]
mov ecx, dword [ecx + 0xa4]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp eax, edx
mov ebx, 1
cmove ebx, dword [esp + 0x40]
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
mov ecx, 1
cmove ecx, dword [esp + 0x3c]
mov dword [esp + 0x88], 0
mov edx, esi
jmp 0x5b0e04
mov esi, 0x10
mov edi, 0x13
mov eax, dword [0x80dce8]
mov dword [esp], eax
call fcn.007cb900
test eax, eax
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
je 0x5b0da9
cmp edi, 0xa
je 0x5b0566
imul edi, edi
and edi, 3
cmp edi, 2
je 0x5b0566
mov dword [esp], str.Failed_to_signal_monitor_n
call fcn.00441610
call fcn.0044c0d0
mov edi, 4
mov byte [esp + 0x63], 0x10
mov eax, edx
mov edx, dword [eax + 4]
mov esi, eax
test edx, edx
jne 0x5b0cbe
mov eax, edx
or eax, 2
mov dword [esp + 0x68], edx
xor edx, 2
add edx, eax
jne 0x5b05fa
jmp 0x5b0cc2
mov dword [esp + 0x68], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x74], ecx
jmp 0x5b08d3
mov dword [esp + 0x80], 8
mov byte [esp + 0x3b], 0x12
mov eax, dword [edx + 0xc]
mov dword [esp + 0x5c], eax
mov esi, dword [eax + 0x9c]
mov edi, esi
and edi, 1
inc edi
xor edi, esi
sete al
movzx eax, al
cmp esi, eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ecx
je 0x5b0e04
cmp dword [esp + 0x80], 5
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jne 0x5b1088
mov dword [esp + 0x84], ebx
mov ebx, edx
mov dl, byte [esp + 0x3a]
movzx ebp, dl
cmp ebp, 0x60
je 0x5b0dc7
mov esi, 1
cmp ebp, 0x6c
jne 0x5b0df5
mov esi, 0xf
mov byte [esp + 0x3a], 0x60
mov byte [0x80dcc5], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov edx, ebx
mov ebx, dword [esp + 0x84]
cmp esi, 0xf
je 0x5b0ed7
xor eax, eax
test al, al
jne 0x5b0ed7
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp + 0x3a], 0x36
mov byte [0x80dcc5], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov edx, ebx
mov ebx, dword [esp + 0x84]
jmp 0x5b0ed7
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], eax
mov edx, ebx
jmp 0x5b10e4
movzx eax, byte [esp + 0x63]
cmp eax, 0x53
je 0x5b05b9
jmp 0x5b0c93
mov byte [esp + 0x5b], 0x5d
mov edx, dword [esp + 0x4c]
test edx, edx
mov esi, dword [esp + 0x50]
je 0x5b0ecc
mov eax, 6
imul edx, edx
and edx, 3
cmp edx, 2
mov dword [esp + 0x54], esi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x78], edx
mov edx, ebp
mov dword [esp + 0x84], edx
je 0x5b0650
cmp eax, 6
jne 0x5b0e78
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x5b1006
mov eax, 0x13
mov byte [esp + 0x33], 0x13
mov edx, dword [esp + 0x28]
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp edx, ecx
je 0x5b0c2e
cmp eax, 3
jne 0x5b0b3e
mov byte [esp + 0x23], 0x36
mov byte [esp + 0x8f], 0x1d
mov ecx, dword [0x80dc9c]
test ecx, ecx
je 0x5b0838
mov dword [esp + 0x34], ecx
jmp 0x5b084d
mov dword [esp + 0x54], esi
mov edx, ebp
jmp 0x5b0650
movzx eax, byte [esp + 0x5b]
cmp eax, 0x17
je 0x5b1156
mov ebp, edx
cmp eax, 0x41
je 0x5b0e17
cmp eax, 0x5d
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
jne 0x5b0641
mov esi, 0xe
mov byte [esp + 0x5b], 0x41
mov eax, edx
and eax, 1
inc eax
xor eax, edx
sete al
movzx eax, al
cmp edx, eax
mov dword [esp + 0x54], edi
mov edx, ebp
je 0x5b0650
cmp esi, 0xe
mov eax, dword [esp + 0x50]
je 0x5b11b9
imul esi, esi
and esi, 3
cmp esi, 3
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
je 0x5b0697
movzx eax, byte [esp + 0x3b]
cmp eax, 0x12
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x70], ebp
mov ecx, edi
mov dword [esp + 0x74], edi
mov esi, 0xc
mov eax, 3
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x6c]
jne 0x5b1028
cmp esi, 0xc
je 0x5b1046
xor eax, eax
test al, al
jne 0x5b1046
mov eax, 6
mov byte [esp + 0x23], 0x10
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
je 0x5b1028
mov eax, 8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0xb4], 0
je 0x5b0c2e
mov ecx, 3
cmp eax, 1
jne 0x5b0af7
mov edx, 3
sub edx, eax
xor edx, eax
je 0x5b0af7
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x84]
jmp 0x5b0697
cmp eax, 3
je 0x5b0cf0
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ecx
jmp 0x5b0c2e
mov byte [esp + 0x3b], 0x3d
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x5c], eax
cmp dword [eax + 0x9c], 0
mov esi, ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x3c], ecx
mov ebx, eax
mov dword [esp + 0x88], edx
mov edx, esi
je 0x5b0e04
mov eax, 8
mov esi, 0xd
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0xa8]
mov ebx, edx
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
mov ebp, dword [esp + 0x3c]
mov ecx, ebp
mov edi, dword [esp + 0x40]
mov dword [esp + 0x84], edi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x88], edx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], edx
mov edx, ebx
je 0x5b0b51
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jne 0x5b114a
mov ebx, edx
mov eax, 0xd
mov dl, 0x6c
mov byte [0x80dcc5], 0
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x44]
mov byte [esp + 0x3a], dl
cmp eax, 8
mov edx, ebx
mov ebx, dword [esp + 0x84]
je 0x5b04c4
imul eax, eax
and eax, 3
cmp eax, 3
je 0x5b04c4
mov dword [esp + 0x70], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x50], ebp
jmp 0x5b0ed7
mov ebx, dword [esp + 0x84]
jmp 0x5b0e04
mov eax, 2
mov esi, 0xb
mov byte [esp + 0x5b], 0xe
cmp dword [esp + 0x4c], 0
mov edi, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov edx, edi
jne 0x5b0a75
mov esi, edx
mov edx, 3
sub edx, eax
xor edx, eax
setne dl
movzx edx, dl
cmp eax, edx
mov edx, esi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edx
jne 0x5b0650
jmp 0x5b084d
mov dword [esp + 0x54], eax
jmp 0x5b0697